この記事では、PHPのタイプヒンティング関数の導入を中心に、タイプヒンティングの役割や使い方、必要なものなどを解説しています。それ
概要
PHP5 以降、型ヒントを使用して、関数を定義するときに関数が受け取るパラメーターの型を指定できるようになりました。関数を定義するときにパラメーターの型を指定した場合、関数を呼び出すときに、実際のパラメーターの型が指定された型と一致しない場合、PHP は致命的なエラー (Catchable Fatal error) を生成します。
クラス名と配列
関数を定義する場合、PHP はクラス名と配列の 2 つの型宣言のみをサポートします。クラス名 テーブル名 このパラメータで受け取る実パラメータは、対応するクラスでインスタンス化されたオブジェクトであり、配列は受け取る実パラメータが配列型であることを示します。以下に例を示します:
コードは以下の通りです:
関数デモ(array $options){
var_dump($options);
}
デモ()関数を定義する際、関数が受け取るパラメータの型は配列として指定されます。関数を呼び出すときに、次のような呼び出しのように、渡されるパラメーターが配列型ではない場合:
コードは以下の通りです:
$options='オプション';
デモ($options);
すると、次のエラーが生成されます。
コードは以下の通りです:キャッチ可能な致命的なエラー:demo() に渡される引数 1 は配列型、指定された文字列である必要があります
デフォルトパラメータとしてnullを使用できます
注意
特別な注意が必要な点は、PHP は 2 種類の型宣言のみをサポートしていることです。他のスカラー型宣言はサポートされていません。たとえば、次のコードはエラーを生成します。
コードは以下の通りです:
関数デモ(string $str){
}
$str="こんにちは";
デモ($str)
上記のコードを実行すると、文字列はクラス名として扱われるため、次のエラーが報告されます:
キャッチ可能な致命的なエラー:demo() に渡される引数 1 は、指定された文字列の文字列のインスタンスである必要があります
概要
型宣言は、特に指定された型の例外をキャッチすることに関しては、オブジェクト指向 PHP の進歩でもあります。
型宣言を使用すると、コードの可読性も向上します。
しかし、PHPは弱い型付け言語であるため、型宣言を使用することはPHP設計の本来の意図に反します。
型宣言を使用するかどうかについては人それぞれ意見が異なりますが、私は初心者です :).
http://www.bkjia.com/PHPjc/1025326.html
。