PHP 関数パラメータの型を厳密にチェックすることで、渡されたパラメータが宣言された型と一致していることを確認できます。 declare(strict_types=1) によって有効にすると、関数パラメータは指定された型と一致する必要があり、一致しない場合は TypeError 例外がスローされます。厳密なチェックでは、基本型 (int、float)、複合型 (オブジェクト、配列)、共用体型 (int|string)、およびオプションの型 (?int) がサポートされており、コードの堅牢性が向上し、間違った型パラメーターが渡されるのを防ぎます。
PHP 関数のパラメーターの型チェックとは、実際に渡されたパラメーターの型が関数と一致するかどうかをチェックすることを指します。関数が呼び出される 宣言されたパラメータの型が一貫しているプロシージャ。コードの堅牢性は、関数に渡されるパラメーターが期待どおりであることを厳密にチェックすることで向上できます。
PHP 7.0 以降では、Declare
ステートメントを使用して関数パラメーターの型を厳密にチェックできます:
declare(strict_types=1); function add(int $a, int $b) {...}
Pass strict_types=1
strict モードが有効であることを宣言した後、関数 add
は 2 つの整数型パラメータを渡す必要があります。そうでない場合は、TypeError 例外がスローされます。
PHP は、次の基本タイプと複合タイプの厳密なチェックをサポートしています:
int
、 float
、bool
、string
、null
または
Class
関数 calculateArea
を定義して、幾何学的図形の面積を計算します。さまざまなグラフィックス タイプに応じて、さまざまなパラメータを渡す必要があります:function calculateArea($shape, $params) {...}
パラメータ エラーを防ぐために型チェックを使用します:
declare(strict_types=1); function calculateArea(string $shape, array $params): float {...}strict_types## を通じて宣言および明確化します。 # パラメータのタイプにより、間違ったタイプのパラメータを渡すことがなくなります。例:
calculateArea(123, []); // 抛出 TypeError 异常
ユニオン型を使用して柔軟性を向上させる:
function calculateArea(string $shape, int|float $radius): float {...}
ユニオン型を使用すると、関数はさまざまな状況に応じてさまざまなタイプのパラメータを受け取ることができます。たとえば、円または正方形の面積を計算するには: calculateArea('circle', 5);
calculateArea('square', 10);
注意点
厳密モードが有効な場合、オプションのパラメーターを含む関数のすべてのパラメーターに対して型を明示的に指定する必要があります。
以上がPHP で関数パラメータの厳密な型チェックを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。