„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie extrahiere ich eine einfache Validatorklasse in PHP?

Wie extrahiere ich eine einfache Validatorklasse in PHP?

Veröffentlicht am 31.07.2024
Durchsuche:993

How to extract a simple validator class 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.

Einführung

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.

Reine Funktionen

Eine reine Funktion ist eine Funktion, die nicht vom Zustand oder Wert der Außenwelt abhängig ist. Mit anderen Worten, eine reine Funktion:

  • Gibt bei gleichen Eingaben immer die gleiche Ausgabe zurück.
  • Hat keine Nebenwirkungen, d. h. es verändert keinen externen Zustand.
  • Verlasst sich nicht auf einen externen Status, sondern nur auf seine Eingabeparameter.

Validator-Klasse

Die Validator-Klasse enthält reine Funktionen, die zur Validierung von Eingabedaten verwendet werden. Im heutigen Code sind die Funktionen:

  • string(): Prüft, ob der Eingabewert eine Zeichenfolge innerhalb eines angegebenen Längenbereichs ist.
    • Verwendet trim(), um Leerzeichen zu entfernen
    • Verwendet strlen(), um die Länge der Eingabedaten zu überprüfen
  • Email(): Validiert eine E-Mail-Adresse mithilfe der Funktion filter_var.
= $min && strlen($value) 



Verwendung der Validator-Klasse

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 verschieben. Andernfalls können wir eine Fehlermeldung anzeigen.





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';

Vorteile der Verwendung einer Validator-Klasse

Die Verwendung einer Validator-Klasse bietet mehrere Vorteile, darunter:

  • Wiederverwendbarkeit: Validatorfunktionen können in der gesamten Anwendung wiederverwendet werden.
  • Modularität: Die Validatorlogik ist vom Hauptanwendungscode getrennt.
  • Einfachere Wartung: Validatorfunktionen können aktualisiert oder geändert werden, ohne den Hauptanwendungscode zu beeinträchtigen.

Abschluss

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.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/ghulam_mujtaba_247/how-to-extract-a-simple-validator-class-in-php-3pp6?1 Bei Verstößen wenden Sie sich bitte an [email protected] um es zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3