Heim > Artikel > Backend-Entwicklung > Wie extrahiere ich eine einfache Validatorklasse in PHP?
Ich habe zuvor gelernt, wie man ein Formular erstellt, validiert und die Formulardaten dann in einer Datenbank speichert. Heute habe ich gelernt, wie man eine Validator-Klasse aus dem Formularvalidierungscode extrahiert, um ihn wiederverwendbar und modular zu machen.
Eine Validator-Klasse ist eine Möglichkeit, Funktionen zu gruppieren, die prüfen, ob Benutzereingaben korrekt sind. Es hilft sicherzustellen, dass die von einem Benutzer eingegebenen Daten bestimmte Regeln oder Kriterien erfüllen.
Eine reine Funktion ist eine Funktion, die nicht vom Zustand oder Wert der Außenwelt abhängig ist. Mit anderen Worten, eine reine Funktion:
Die Validator-Klasse enthält reine Funktionen, die zur Validierung von Eingabedaten verwendet werden. Im heutigen Code sind die Funktionen:
<?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); } }
Um die Validator-Klasse zu verwenden, fügen wir sie in unsere PHP-Datei ein und rufen ihre Methoden mit der Class Name::Method-Syntax auf. Anschließend können wir bedingte Anweisungen verwenden, um zu prüfen, ob die Eingabedaten gültig sind. Zum Beispiel:
Wenn die E-Mail gültig ist, können wir den Benutzer zum nächsten Bildschirm weiterleiten. Andernfalls können wir eine Fehlermeldung anzeigen.
<?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');}
Da die angegebene E-Mail korrekt ist, fahren Sie mit der Ausführung des nächsten Codes fort. Wenn der Eingabetext gültig ist, können wir ihn in die Datenbank einfügen. Andernfalls können wir eine Fehlermeldung anzeigen.
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';
Die Verwendung einer Validator-Klasse bietet mehrere Vorteile, darunter:
Durch Extrahieren einer einfachen Validator-Klasse können wir sicherstellen, dass unsere Benutzereingabedaten in unserer gesamten Anwendung konsistent validiert werden.
Ich hoffe, dass Sie das klar verstanden haben.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich eine einfache Validatorklasse in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!