私は以前、フォームを作成して検証し、フォーム データをデータベースに保存する方法を学びました。今日は、フォーム検証コードから Validator クラスを抽出し、再利用可能でモジュール化する方法を学びました。
バリデーター クラスは、ユーザー入力が正しいかどうかをチェックする関数をグループ化する方法です。これは、ユーザーが入力したデータが特定のルールまたは基準を満たしていることを確認するのに役立ちます。
純粋関数とは、外部の世界からの状態や値に偶発的または依存しない関数です。言い換えれば、純粋な関数:
Validator クラスには、入力データを検証するために使用される純粋な関数が含まれています。今日のコードでは、関数は次のとおりです:
<?php class Validator { public static function string($value, $min = 1, $max = INF) { $value = trim($value); return strlen($value) >= $min && strlen($value) <= $max; } public static function email($value) { return filter_var($value, FILTER_VALIDATE_EMAIL); } }
バリデーター クラスを使用するには、それを PHP ファイルに組み込み、クラス名::メソッド構文を使用してそのメソッドを呼び出します。次に、条件ステートメントを使用して、入力データが有効かどうかを確認できます。例:
電子メールが有効な場合は、ユーザーを次の画面に移動できます。それ以外の場合は、エラー メッセージを表示できます。
<?php require 'Validator.php'; $config = require 'config.php'; $db = new Database($config['database']); $heading = 'Create Note'; if(! Validator::email('mujtabaofficial247@gmail.com')){ dd('that is not a valid email');}
指定された電子メールは正しいので、次のコードの実行に進みます。入力本文が有効な場合は、それをデータベースに挿入できます。それ以外の場合は、エラー メッセージを表示できます。
if ($_SERVER['REQUEST_METHOD'] === 'POST') { $errors = []; if (! Validator::string($_POST['body'], 1, 1000)) { $errors['body'] = 'A body of no more than 1,000 characters is required.'; } if (empty($errors)) { $db->query('INSERT INTO notes(body, user_id) VALUES(:body, :user_id)', [ 'body' => $_POST['body'], 'user_id' => 1 ]); } } require 'views/note-create.view.php';
Validator クラスを使用すると、次のようないくつかの利点があります。
単純な Validator クラスを抽出することで、ユーザー入力データがアプリケーション全体で一貫して検証されることを保証できます。
これを明確に理解していただければ幸いです。
以上がPHPで単純なバリデータクラスを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。