PHP における厳密型の役割を明らかにする
バージョン 7 で導入された PHP の厳密型の概念は、開発者の間で注目を集めています。 。この記事の目的は、厳密型の目的と影響をわかりやすくし、その利点と有用性を包括的に理解することです。
厳密型とは何ですか?
PHP 7 およびその後、スカラー型 (int、float、string、bool) を関数の引数と戻り値に追加して、より厳密な型チェックを強制できるようになります。 declare(strict_types = 1) ステートメントを通じて厳密な要件を有効にすることで、開発者はコードをより詳細に制御できるようになり、コードの明瞭さが向上します。
厳密な型の仕組み
デフォルト, PHP は、型が一致しない場合に、値を予期されるスカラー型に自動的にキャストします。たとえば、関数が整数を必要とするが文字列を受け取った場合、PHP は可能であれば文字列を整数に変換します。
ただし、厳密な型が有効になっていると、PHP は自動型強制を実行しません。パラメータの型宣言が実際の値と一致しない場合、値が float パラメータに割り当てられた整数でない限り、TypeError 例外がスローされます。
厳密な型の利点
厳密な型の強制にはいくつかの利点があります:
実装と例
ファイル全体に対して厳密な型を有効にするには、PHP スクリプトの先頭に次の行を含めます。
declare(strict_types = 1);
strict の効果を説明するために、次の例を考えてみましょう。型:
厳密な型なし:
function addIntAndFloat($a, $b) : int
{
return $a $b;
}
$result = addIntAndFloat(1.4, '2');
echo $result; // Output: 3
ここで、PHP は float 1.4 を int 1 に、文字列 '2' を float 2.0 に自動的に変換し、int 値 3.
になります。 ]厳密なタイプの場合:
declare(strict_types = 1);
function addIntAndFloat(int $a, float $b) : int
{
return $a $b;
}
$result = addIntAndFloat(1.4, '2');
厳密な型を有効にすると TypeError 例外がトリガーされ、コードが実行されなくなります。これは、明示的な型宣言と予期しない型変換の回避の重要性を示しています。
要約すると、PHP の厳密な型は厳密な型チェックを強制し、コードの品質を向上させ、意図しない型変換によって引き起こされる問題のリスクを軽減します。厳密型の仕組みとその利点を理解することで、開発者は情報に基づいた意思決定を行い、それを活用してコードの堅牢性と保守性を向上させることができます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3