この記事では、PHP の タイプヒント 両方の機能を調べます 弱い と 厳密な型のヒント .
PHP タイプヒンティングとは?
タイプヒント は、関数で予想される引数のデータ型を指定できるようにするプログラミング用語として機能します。たとえば、 '追加' 関数では、パラメーターが整数であることを示すことができます。整数以外で関数を呼び出すと、エラーが発生し、整数が必要であることが示されます。 PHP は、スカラー宣言と戻り値型の宣言に対して 2 種類のヒントを提供します。
ウィークタイプヒンティングとは?
弱い型ヒンティング は PHP のデフォルトの動作モードであり、型宣言が一致しない場合でもエラーは発生しません。言い換えると、 弱いタイプのヒンティング パラメータのデータ型が意図した型と一致しない場合でも、PHP はエラーを生成せずにコードを実行できます。
例
実装する例を考えてみましょう 弱いタイプのヒンティング PHPで。
$num1 = 20 ;
$num2 = 3.16537 ;
関数 マルチ ( 浮く $num1 、 整数 $num2 )
{
戻る $num1 * $num2 ;
}
エコー '計算値は次のとおりです:' 、 マルチ ( $num1 、 $num2 ) ;
?>
上記のコードでは、関数 マルチ 2 つのパラメータを取り、 $num1 float 型の $num2 int 型ですが、引数として渡される値の型は異なります。型の不一致にもかかわらず、コードはエラーまたは致命的なエラーを生成せずに実行されます。これは、の定義に関連しています。 弱いタイプのヒンティング .
出力
厳密な型ヒンティングとは?
厳密なタイプのヒンティング PHPでは、強制するモードです 厳密な型付け を投げます 致命的な誤り 型宣言の不一致が発生した場合。宣言型とまったく同じ型の変数のみが受け入れられ、他の型は タイプエラー .
使用するには 厳密な型のヒント 、ファイルの最初のステートメントは (strict_types=1) そうしないと、コンパイラ エラーが発生します。このモードは、それが使用されている特定のファイルにのみ影響し、完全にコンパイル時であるため、実行時にオーバーライドすることはできません。
例
PHP で厳密な型ヒントを実装する例を考えてみましょう。
宣言する ( strict_types = 1 ) ;
$num1 = 20 ;
$num2 = 3.16537 ;
関数 マルチ ( 浮く $num1 、 整数 $num2 )
{
戻る $num1 * $num2 ;
}
エコー '計算値は次のとおりです:' 、 マルチ ( $num1 、 $num2 ) ;
?>
上記の例は、 厳密な型のヒント を含むので、 「宣言 (strict_types=1)」 可能にするステートメント 厳密なタイプ ファイルをチェックインします。どのタイプの宣言の不一致も、致命的なエラーになります。
出力
float 値は int を使用してアクセスされ、integer 値は float データ型を使用してアクセスされているため、上記のコードではエラーが発生します。
結論
タイプヒント PHP では、開発者は関数で想定される引数のデータ型を指定できます。 PHP は 2 種類のヒントを提供します。 弱いタイプのヒンティング と 厳密な型のヒント . 弱い型ヒンティング は、型宣言の不一致の場合にエラーや致命的なエラーを生成しないデフォルトの操作モードです。 厳密な型のヒント 厳密な型指定を強制し、型宣言の不一致が発生した場合は致命的なエラーをスローします。開発者は、特定の要件に基づいて、適切な型ヒント手法を選択する必要があります。