ホームページ  >  記事  >  バックエンド開発  >  PHP におけるタイプヒントの役割と使用法

PHP におけるタイプヒントの役割と使用法

墨辰丷
墨辰丷オリジナル
2018-06-09 10:49:031476ブラウズ

この記事では、PHP における型ヒントの役割と使い方を中心に紹介しますので、興味のある方は参考にしていただければ幸いです。

概要

PHP5 以降、型ヒントを使用して、関数の定義時に関数が受け取るパラメーターの型を指定できるようになりました。関数を定義するときにパラメーターの型を指定した場合、関数を呼び出すときに、実際のパラメーターの型が指定された型と一致しない場合、PHP は致命的なエラー (Catchable Fatal error) を生成します。

クラス名と配列

関数を定義する場合、PHP はクラス名と配列の 2 つの型宣言のみをサポートします。クラス名 テーブル名 このパラメータで受け取る実パラメータは、対応するクラスでインスタンス化されたオブジェクトであり、配列は受け取る実パラメータが配列型であることを示します。以下に例を示します。

コードは次のとおりです。

function demo(array $options){
  var_dump($options);
}


demo() 関数を定義する場合、関数が受け取るパラメータの型は配列として指定されます。関数を呼び出すときに、渡されたパラメーターが配列型ではない場合、たとえば次のような呼び出しの場合:

コードは次のとおりです:

$options='options';
demo($options);

この場合、次のエラーが発生します。生成される:

キャッチ可能な致命的なエラー:demo() に渡される引数 1 は配列型、指定された文字列である必要があります。

デフォルトのパラメータとして null を使用できます

Note

特に注意が必要な点は、PHP では 2 種類の型宣言のみがサポートされているということです。たとえば、次のコードはエラーを生成します。

コードは次のとおりです:

function demo(string $str){
}
$str="hello";
demo($str)

上記のコードを実行すると、文字列はクラス名として扱われるため、次のエラーが報告されます:
キャッチ可能な致命的なエラー:デモ() に渡される引数 1 は、 string のインスタンスである必要があります。指定された文字列、

概要

型宣言は、特に次のような場合に、オブジェクト指向 PHP の進歩でもあります。指定されたタイプの例外をキャッチするのに非常に便利です。
型宣言を使用すると、コードの読みやすさも向上します。
ただし、PHP は弱い型指定言語であるため、型宣言を使用することは PHP 設計の本来の意図に反します。
型宣言を使用するかどうかは、人によって異なります。私は初心者です :)。

以上がこの記事の全内容です。皆さんのお役に立てれば幸いです。学ぶ。

関連する推奨事項:

文字列操作のための php メソッド

ファイル操作と文字列のための php 暗号化方法

#php の日付と文字列を操作するメソッド##

以上がPHP におけるタイプヒントの役割と使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。