Comment extraire une classe de validateur simple en PHP ?

WBOY
Libérer: 2024-07-17 13:57:12
original
440 Les gens l'ont consulté

How to extract a simple validator class in PHP?

J'ai déjà appris à créer un formulaire et à le valider, puis à stocker les données du formulaire dans une base de données. Aujourd'hui, j'ai appris à extraire une classe Validator du code de validation du formulaire, la rendant réutilisable et modulaire.

Introduction

Une classe Validator est un moyen de regrouper des fonctions qui vérifient si la saisie de l'utilisateur est correcte. Cela permet de garantir que les données saisies par un utilisateur répondent à certaines règles ou critères.

Fonctions pures

Une fonction pure est une fonction qui n'est pas contingente ou dépendante d'un état ou d'une valeur du monde extérieur. Autrement dit, une fonction pure :

  • Renvoie toujours la même sortie avec les mêmes entrées.
  • N'a aucun effet secondaire, ce qui signifie qu'il ne modifie aucun état externe.
  • Ne repose sur aucun état externe, uniquement sur ses paramètres d'entrée.

Classe de validateur

La classe Validator contient des fonctions pures utilisées pour valider les données d'entrée. Dans le code d'aujourd'hui, les fonctions sont :

  • string() : Vérifie si la valeur d'entrée est une chaîne dans une plage de longueur spécifiée.
    • Utilise trim() pour supprimer les caractères d'espacement
    • Utilise strlen() pour vérifier la longueur des données d'entrée
  • e-mail() : Valide une adresse e-mail à l'aide de la fonction filter_var.
= $min && strlen($value) <= $max; } public static function email($value) { return filter_var($value, FILTER_VALIDATE_EMAIL); } }
Copier après la connexion

Utilisation de la classe Validator

Pour utiliser la classe Validator, nous l'incluons dans notre fichier PHP et appelons ses méthodes en utilisant la syntaxe Class Name::Method . Nous pouvons ensuite utiliser des instructions conditionnelles pour vérifier si les données d'entrée sont valides. Par exemple :

Si l'e-mail est valide, nous pouvons déplacer l'utilisateur vers l'écran suivant. Sinon, nous pouvons afficher un message d'erreur.


        
Copier après la connexion

Comme l'e-mail donné est correct, passez à l'exécution du code suivant. Si le corps d'entrée est valide, nous pouvons l'insérer dans la base de données. Sinon, nous pouvons afficher un message d'erreur.

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';
Copier après la connexion

Avantages de l'utilisation d'une classe de validation

L'utilisation d'une classe Validator offre plusieurs avantages, notamment :

  • Réutilisabilité : les fonctions du validateur peuvent être réutilisées dans toute l'application.
  • Modularité : la logique du validateur est séparée du code de l'application principale.
  • Maintenance plus facile : les fonctions du validateur peuvent être mises à jour ou modifiées sans affecter le code principal de l'application.

Conclusion

En extrayant une simple classe de validation, nous pouvons garantir que nos données d'entrée utilisateur sont validées de manière cohérente dans toute notre application.
J'espère que vous avez bien compris cela.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!