PHP で関数パラメータの有効性を検証する方法には、1. データ型チェック、2. 範囲チェック、3. 正規表現、4. アサーションが含まれます。パラメーターのタイプ、範囲、形式を検証することで、コードの堅牢性と信頼性を確保できます。
PHP 関数パラメータの妥当性を検証する方法
PHP では、関数パラメータの妥当性検証が非常に重要です。コードの堅牢性と信頼性を確保するのに役立ちます。パラメーターの検証はさまざまな方法で行うことができますが、この記事では最も一般的な方法について説明します。
データ型チェックの使用
PHP でデータ型チェック演算子を使用すると、パラメーターが予期した型であることを確認できます。例:
function addNums(int $num1, int $num2): int { return $num1 + $num2; }
上記の関数は 2 つの整数パラメータを受け取り、整数を返します。整数以外の値が渡されると、TypeError が発生します。
範囲チェックの使用
range() 関数を使用して、パラメーターが指定された範囲内にあるかどうかを確認できます。例:
function checkAge(int $age): string { if (in_array($age, range(18, 65))) { return "Eligible"; } else { return "Not Eligible"; } }
この関数は、渡された年齢が 18 ~ 65 歳であるかどうかを確認し、結果に基づいて適切なメッセージを返します。
正規表現の使用
正規表現は、文字列パラメータのパターンを検証するために使用できる強力なツールです。例:
function validateEmail(string $email): bool { return preg_match("/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/", $email); }
この関数は正規表現を使用して、受信メール文字列が適切にフォーマットされているかどうかを確認します。
アサーションの使用
アサーションは、ブール式をパラメーターとして受け取る構文構成です。条件が false の場合、エラーをスローします。例:
function divideNums(int $num1, int $num2): float { assert($num2 !== 0); return $num1 / $num2; }
この関数は、assert() アサーションを使用して 2 番目のパラメーターがゼロでないことを確認し、ゼロ除算エラーを回避します。
実際的なケース
三角形の周囲と面積を計算する関数があるとします。渡されたパラメータを検証して、それらが有効であることを確認できます。
function calculateTriangle(float $base, float $height): array { // 验证参数类型 if (!is_float($base) || !is_float($height)) { throw new InvalidArgumentException("Invalid parameter types."); } // 验证参数范围 if ($base <= 0 || $height <= 0) { throw new InvalidArgumentException("Invalid parameter values."); } // 计算结果 $perimeter = 2 * $base + 2 * $height; $area = 0.5 * $base * $height; return ["perimeter" => $perimeter, "area" => $area]; }
この例では、データ型チェックと範囲チェックを使用して関数パラメータを検証します。引数が無効な場合、例外がスローされ、スクリプトの実行は中止されます。
以上がPHP関数パラメータの有効性を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。