ホームページ  >  記事  >  バックエンド開発  >  PHP のタイプヒント関数の概要、typehinting_PHP チュートリアル

PHP のタイプヒント関数の概要、typehinting_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:48:03913ブラウズ

PHPのタイプヒンティング機能の紹介、タイプヒンティングの概要

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

クラス名と配列

関数を定義する場合、PHP はクラス名と配列の 2 つの型宣言のみをサポートします。クラス名 テーブル名 このパラメータで受け取る実パラメータは、対応するクラスでインスタンス化されたオブジェクトであり、配列は受け取る実パラメータが配列型であることを示します。以下に例を示します:
コードをコピーします コードは次のとおりです:
関数デモ(配列 $オプション){
var_dump($options);
}

demo() 関数を定義する場合、関数が受け取るパラメータの型は配列として指定されます。関数を呼び出すときに、次のような呼び出しのように、渡されるパラメーターが配列型ではない場合:
コードをコピーします コードは次のとおりです:
$options='オプション';
デモ($options);

すると、次のエラーが生成されます:
コードをコピーします コードは次のとおりです:
キャッチ可能な致命的なエラー:demo() に渡される引数 1 は配列型、指定された文字列である必要があります

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

注意

特別な注意が必要な点は、PHP は 2 種類の型宣言のみをサポートしていることです。他のスカラー型宣言はサポートされていません。たとえば、次のコードはエラーを生成します。
コードをコピーします コードは次のとおりです: 関数デモ(文字列 $str){
}
$str="こんにちは";
デモ($str)

上記のコードを実行すると、文字列はクラス名として扱われるため、次のエラーが報告されます:

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

概要

型宣言は、特に指定された型の例外をキャッチする場合、オブジェクト指向 PHP の進歩でもあります。

型宣言を使用すると、コードの可読性も向上します。
ただし、PHP は弱い型指定言語であるため、型宣言を使用することは PHP 設計の本来の意図に反します。
型宣言を使用するかどうかは人それぞれの意見ですが、私は初心者ではありません:)。

http://www.bkjia.com/PHPjc/1024914.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1024914.html技術記事 PHP のタイプヒント関数の概要、タイプヒントの概要 PHP5 以降、タイプヒントを使用して、関数を定義するときに関数が受け取るパラメーターの型を指定できるようになりました。決めているなら…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。