Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/09/2007, 14h44   #1
Membre Expert
 
Avatar de Janitrix
 
Inscription : octobre 2005
Messages : 3 398
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 3 398
Points : 2 331
Points : 2 331
Par défaut Bonnes pratiques : comment organiser l'affichage et la validation d'un formulaire ?

Bonjour,

Afin de faire un code plus propre et plus logique, je me suis mis à faire de l'orienté objet dans mes script, en plus d'utiliser un moteur de template afin de séparer le code html du code php.

Ma question maintenant, c'est comment organiser mes formulaires. Lorsque je ne faisais pas d'orienté objet, la question ne se posait pas, je faisais comme il est expliqué dans les nombreux tutoriels sur le sujet, mais maintenant, je ne vois pas du tout comment organiser.

Faut-il crée un script pour l'affichage, un pour la validation, ou encore ne garder qu'un script, ou créer une classe dédiée ? Bref, que de questions existentielles

Avez-vous des exemples de formulaires (la partie php) qui sont organisés dans la logique POO ?

Merci beaucoup
Janitrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 15h02   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Quand tu parles de "template" je te propose déjà de passer à l'évolution d'après et d'utiliser l'architecture MVC

Ensuite pour les formulaire, ça dépend desquels tu parles. S'il s'agit d'un "simple" formulaire "tapez votre adresse e-mail pour vous inscrire à la newsletter", il n'y a pas de choses particulières à part peut-être une classe avec une méthode qui affiche ce formulaire et que tu appelles un peu partout sur le site.
Par contre si tu parles des formulaires qui permette de modifier des objets dans la base de données par exemple, tu peux aller très loin jusqu'à décrire tes objets dans un fichier de configuration et là tu auras une classe qui s'occupera de construire le formulaire à partir de ce fichier de configuration. Cette classe pourra aussi s'occuper de vérifier les données des ces objets par exemple.

Pour parler un peu de code, il y a deux choses que je garde souvent à l'esprit, c'est que si il y a du code en double quelque part ou bien si j'ai besoin d'un "switch", je peux remplacer ça par des classes et de l'héritage
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 15h32   #3
Membre Expert
 
Avatar de Janitrix
 
Inscription : octobre 2005
Messages : 3 398
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 3 398
Points : 2 331
Points : 2 331
Citation:
Envoyé par mathieu Voir le message
Quand tu parles de "template" je te propose déjà de passer à l'évolution d'après et d'utiliser l'architecture MVC
Je croyais que j'utilisais les templates justement car c'était plus proche du modèle MVC

Par exemple, un formulaire d'inscription, unique sur le site, qui comprend identifiant, mot de passe, email, tu ferais quoi comme page ?

Actuellement, j'ai inscription.php, qui crée l'objet Smarty (le moteur de template que j'utilise) et qui appelle le formulaire inscription.tpl. Je suis bloqué là, car je ne sais pas si je dois : soit faire le traitement du formulaire également dans inscription.php, ou, crée un autre script, ou peut être créer une classe, que j'utiliserai dans inscription.php

Bref, c'est un problème d'organisation, je ne vois pas comment faire quelque chose de logique, car pour moi c'est "sale" d'appeler le script identification.php pour tester le formulaire.

Janitrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 15h54   #4
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
avant de parler de fichier, est ce que tu as prévu de passer à MVC ? jette un coup d'œil aux deux lien suivants parce l'organisation des fichiers est différentes

Regarde d'abord ce fichier proposé par un membre du forum :
http://www.developpez.net/forums/sho...d.php?t=395269
Il s'agit surtout de l'utiliser pour que tu vois comment ça fonctionne. N'étudie pas en détails le code source du fichier parce qu'il est très particulier pour tenir dans un seul fichier et donc tu ne verras pas souvent se genre d'organisation dans une grand application.
Avec ce code tu as un exemple d'application MVC avec un contrôleur

Ensuite pour aller plus loin tu peux te pencher sur le Zend Framework
http://g-rossolini.developpez.com/tu...ework/debuter/
Là tu auras plusieurs contrôleurs et chaque contrôleur est une classe.
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 16h06   #5
Membre Expert
 
Avatar de Janitrix
 
Inscription : octobre 2005
Messages : 3 398
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 3 398
Points : 2 331
Points : 2 331
Cela me semble bien compliqué pour le petit truc que je veux faire

Le modèle MVC serait intéressant à utiliser, mais j'ai déjà commencé mon site avec Smarty + PDO + Doctrine, bien que je n'ai fait pas grand chose encore, abandonner Smarty ne m'enchante pas vraiment, vu que tout est basé dessus.

Penses-tu que l'utilisation de l'architecture MVC est bénéfique pour un projet de petite taille au vue des efforts pour le mettre en place ?

Janitrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 16h31   #6
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Citation:
Envoyé par Janitrix Voir le message
Penses-tu que l'utilisation de l'architecture MVC est bénéfique pour un projet de petite taille au vue des efforts pour le mettre en place ?
ce n'est pas une question de taille mais d'habitude ...
en prenant l'habitude de "penser MVC" même avec des petits projets, ça te prendra ensuite de moins en moins de temps à mettre en place et tu gagneras du temps même avec les petits projets. et le jour ou tu devras faire un énorme projet de plusieurs mois tu auras déjà l'habitude de partir sur des bases solides

J'ai insisté sur l'utilisation de MVC parce que pensais que tu partais à l'aventure, que tu était entrain de faire tes premiers pas de tests
si tu as déjà un site en cours et que tu ne veux pas tout refaire ce n'est pas grave, tu peux continuer comme ça.

Pour en revenir à ton formulaire d'identification, voilà un exemple qui serait plus simple avec des classes : Tu aurais une classe PageEspaceAdministration dont hériteraient toutes les pages protégée par mot de passe. Et comme ça tu aurais juste besoin de gérer le formulaire de connexion dans la classe PageEspaceAdministration

Maintenant si tu n'utilise pas de classes il ne te reste plus qu'à mettre ce genre de code dans toutes tes pages de l'espace protégé :
Code :
1
2
3
require_once 'ClasseConnexion.php';
$connexion = new Connexion('administration');
$connexion->connecter();
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 16h46   #7
Membre Expert
 
Avatar de Janitrix
 
Inscription : octobre 2005
Messages : 3 398
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 3 398
Points : 2 331
Points : 2 331
Citation:
Envoyé par mathieu Voir le message
J'ai insisté sur l'utilisation de MVC parce que pensais que tu partais à l'aventure, que tu était entrain de faire tes premiers pas de tests
si tu as déjà un site en cours et que tu ne veux pas tout refaire ce n'est pas grave, tu peux continuer comme ça.
Le site n'est pas tellement avancé, c'est juste que j'ai l'impression que d'appréhender MVC me semble un peu difficile. Si cela est bénéfique à long terme, je veux bien sûr savoir ce qu'il en est. Je suis en train de revoir complètement ma façon de programmer en PHP, il est bon que je sache les bonnes pratiques.

Je vais regarder les tutoriels disponibles sur le sujet.

Merci.
Janitrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 16h53   #8
Membre Expert
 
Avatar de Janitrix
 
Inscription : octobre 2005
Messages : 3 398
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 3 398
Points : 2 331
Points : 2 331
Dernière petite question : suis-je obligé d'abandonner l'utilisation d'un moteur de template si je passe au modèle MVC ?

Janitrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 17h56   #9
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
le modèle MVC est un système de template en un peu plus évolué puisqu'il défini comment dialoguent les données, les actions de l'utilisateur et l'affichage alors que le template ne fait que séparer les données et l'affichage
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 18h40   #10
Membre Expert
 
Avatar de Janitrix
 
Inscription : octobre 2005
Messages : 3 398
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 3 398
Points : 2 331
Points : 2 331
J'ai mal formulé

Je peux toujours utiliser Smarty pour gérer les fichiers tpl ? J'ai vu dans le tutoriel de PHP Solution qu'il gardait l'utilisation de Smarty. Je parlais du point de vue technique, pas de l'architecture

Merci.
Janitrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2007, 13h38   #11
Membre Expert
 
Avatar de Janitrix
 
Inscription : octobre 2005
Messages : 3 398
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 3 398
Points : 2 331
Points : 2 331
J'ai lu le tutoriel sur Zend Framework est j'ai pigé le fonctionnement du modèle MVC, et ce framework me semble intéressant, mais dans ce tutoriel, il y a du code php dans les fichiers HTML, et c'est justement ce que je voulais éviter.

Je vais poser ma question dans un forum plus approprié.

Merci de m'avoir mis sur la voie
Janitrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h19.


 
 
 
 
Partenaires

Hébergement Web