PHP関数のパラメータの型を確認するにはどうすればよいですか?

王林
リリース: 2024-04-10 18:33:02
オリジナル
475 人が閲覧しました

PHP で関数パラメータの型をチェックする方法: typehints を使用してパラメータと戻り値の型を指定し、TypeError 例外をスローします。getType() を使用して、条件文に使用される変数の実際の型を取得します。assert を使用します。 () 条件をチェックします。 false の場合は、AssertionError 例外とエラー メッセージがスローされます。

如何检查 PHP 函数参数类型?

PHP 関数のパラメーターの型を確認する方法

まえがき

最新の開発では、型チェックはますます重要になっており、コードの保守性と信頼性を向上させることができます。 PHP 言語には、関数のパラメーターの型を確認するためのメソッドがいくつか用意されています。

方法 1: typehints を使用する

Typehints は、PHP 7 で導入された糖衣構文で、これを使用すると、関数宣言で予期されるパラメーターの型を指定できます。

function add(int $a, int $b): int {
    return $a + $b;
}
ログイン後にコピー

int typehint は、パラメータと戻り値が両方とも整数型であることを指定します。渡された引数が整数でない場合、PHP は TypeError 例外をスローします。

方法 2: getType()

getType() 関数を使用して、変数の実際の型を取得します。

function isString(mixed $value): bool {
    return gettype($value) === 'string';
}
ログイン後にコピー

mixed typehint 指定するパラメータは任意の型にすることができます。 gettype() この関数は、条件文で使用する変数の実際の型を返します。

方法 3:assert() を使用する

assert() この関数は実行時に条件をチェックできます。条件が false の場合、AssertionError 例外がスローされます。

function validateEmail(string $email): void {
    assert(filter_var($email, FILTER_VALIDATE_EMAIL), 'Invalid email address');
}
ログイン後にコピー

assert() この関数は、条件とエラー メッセージの 2 つのパラメータを受け取ります。条件が false の場合、AssertionError 例外がスローされ、エラー メッセージが表示されます。

実践的なケース

ユーザー入力を処理する関数があるとします。 typehints と assert() を使用して、入力が有効かどうかを確認できます。

function processInput(array $data): void {
    assert(array_key_exists('name', $data), 'Missing "name" field');
    assert(array_key_exists('email', $data), 'Missing "email" field');
    assert(filter_var($data['email'], FILTER_VALIDATE_EMAIL), 'Invalid email address');

    // 处理经过验证的输入...
}
ログイン後にコピー

この例では、$data 配列に が含まれていることを確認します。 name フィールドと email フィールド、電子メール アドレスは有効です。これらの条件が満たされない場合は、AssertionError 例外が発生し、適切なエラー メッセージが表示されます。

以上がPHP関数のパラメータの型を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート