Quant à moi, j'ai compris comment utiliser les classes de jonoz.
Je me suis fait un exemple, et les tests PHPUnit sont OK.
Il m'a fallu un peu de temps, car comme je le disais, créer des interfaces et les utiliser n'est pas naturel pour moi.
Maintenant, si j'ai bien compris, j'instancie mes objets dans mon controller :
Ça veut dire que dans mon controller, avant de faire le $formulaire->validate(), il faut que j'instancie et crée tous mes objets (
- les valideurs des champs,
- les champs,
- l'affectation des valideurs aux champs,
- le formulaire,
- l'affectation des champs au formulaire,
- et enfin je peux lancer la validation
), c'est ça ?
J'ai une autre interrogation autour de la validation :
Dans mon esprit, j'ai une validation technique du champ : est-il bien un entier ? est-il bien un email ?
Mais j'ai aussi une validation fonctionnelle ! Par exemple, est-ce que tel champ prend bien les valeurs 1 ou 2, seules autorisées, est-ce que les deux champs "mot de passe" (mot de passe + confirmation) sont identiques ?
Où fait-on cette validation ?
J'aurai tendance à dire qu'on a une première méthode
estValideTechiquement() qui vérifie les champs du point de vue technique.
Et une deuxième méthode
estValideFonctionnellement() qui fait la validation fonctionnelle.
Ensuite, mon contrôleur gère les deux appels l'un après l'autre avec les contrôles qui vont bien.
Êtes-vous d'accord ?
Autre interrogation sur les bonnes pratiques :
Jusqu'à présent, je faisais une validation avec nettoyage des données. Dans les méthodes proposées, je ne vois pas de nettoyage (que le problème soit technique ou fonctionnel - je ne veux pas envoyer à l'insertion une valeur en dehors des valeurs possibles).
Comment on s'y prend selon vous ? Où récupère-t-on dans les classes proposées les valeurs nettoyées ? Dans le contrôleur à l'analyse des messages de retour ?
D'avance merci pour tous vos retours !
Partager