|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 889 ![]() |
Bonjour à tous.
Quand on utilise du MVC, on a souvent besoin de helpers pour se simplifier la vie. Générer un formulaire et permettre son remplissage avec plusieurs jeux de données (un objet modèle et des paramètres de requête par exemple) devient vite un casse-tête. A cet effet, j'ai créé un ensemble de classe destinées à générer et à manipuler un formulaire XHTML. Un exemple vaut plus qu'un long discours: Code :
Il est possible de créer / manipuler n'importe quel élément de formulaire de manière atomique au travers des classes suivantes: - CheckboxGroupHelper.class.php - FieldsetHelper.class.php - FormHelper.class.php - FormLine.class.php - InputHelper.class.php - LabelHelper.class.php - OptionHelper.class.php - RadioGroupHelper.class.php - SelectHelper.class.php - TextareaHelper.class.php Ces classes sont dans le package joint à ce post. L'avantage marteau de cette structure est la possibilité de remplir automatiquement un formulaire ou un fieldset avec des données en provenance d'un tableau ou d'un objet (Model dans mon cas qui est la classe de base de mes modèles.) La plupart des méthodes des objets helpers renvoient leur référence de sorte à pouvoir faire du chainage. Exemple: Code :
Si ça intéresse du monde, je suis disposé à documenter ces classes et fournir un manuel Merci de ne pas venir hurler que ça existe déjà dans la plupart des frameworks actuels et que j'ai réinventé la roue, j'en suis conscient. J'avais simplement besoin d'une structure simple et implémentable immédiatement. -- Edit Vous trouverez la documentation DoxyGen jointe à ce post.
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
||||
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() ![]() Inscription : mars 2007 Messages : 525 ![]() |
Moi je suis intéressé par de la documentation sur cette classe.
Et sinon, bien joué ;-) Code clair, net et précis :-D |
|
|
00
|
|
|
#3 | ||
![]() ![]() Olivier Développeur Web Inscription : août 2003 Messages : 2 497 ![]() |
Si je puis me permettre une petite critique , il manque un système simple de validation.
J'ai fait pour mon framework un outil similaire pour les formulaires et pouvoir spécifier des validateur (même basique) pour chaque champs est un confort non négligeable. Dans mon cas ça donne quelque chose comme ça : Code :
J'ai pas regardé le code en détail , mais as tu prévu une solution pour simplement insérer de l'html dans ton formulaire ? Quand on travail avec des designer un peu fou , on se retrouve souvent obligé d'insérer de l'html au milieu du formulaire pour répondre à leur besoin ^^
__________________
Pry Framework php5 | Recherche CDI dev. Web sur Dijon et alentours. |
||
|
00
|
|
|
#4 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 889 ![]() |
Citation:
Citation:
-- EDIT @Grunk J'aimerai beaucoup voir la façon dont tu as implémenté tes validateurs. D'apès l'exemple que tu as fourni, je suppose que ton form helper est un factory d'objet Validator. Je suis contre cette approche car, dans le MVC, ce sont les contrôleurs qui sont responsables de la validation et non les vues, ce n'est donc logiquement pas au form helper de les générer.
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
||
|
00
|
|
|
#5 | |
![]() ![]() Olivier Développeur Web Inscription : août 2003 Messages : 2 497 ![]() |
Citation:
Pour info tu peux voir un extrait du Fw avec form et validateur ici (zip 34ko)
__________________
Pry Framework php5 | Recherche CDI dev. Web sur Dijon et alentours. |
|
|
00
|
|
|
#6 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 889 ![]() |
Merci Grunk, je vais jeter un oeil.
-- Edit Au point ou tu en es dans tes classe tu aurais aussi bien fait d'étendre les classes de DOMElement (ce que j'ai fait pour un autre composant) c'est beaucoup plus flexible que la solution évoqué dans ce thread mais aussi plus contraignant. Tes classes ressemblent aux miennes, à ce détail près qu'elles sont beaucoup plus spécialisées et donc plus sûres (et du même coup plus contraignantes). Je vais documenter les miennes en Doxygen pour ArkAm, je reviens...
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
|
00
|
|
|
#7 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 889 ![]() |
Et voilà la doc (voir le premier post).
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() ![]() Inscription : mars 2007 Messages : 525 ![]() |
Merci bien m'sieur
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 3 ![]() |
Super ! Merci, je m'en vais la tester sur ce pas.
|
|
|
00
|
|
|
#10 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 889 ![]() |
La dernière version de cette librairie est disponible ici: http://code.google.com/p/php-axiom/
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
|
10
|
|
|
#11 | |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 3 ![]() |
Citation:
|
|
|
|
00
|
|
|
#12 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 889 ![]() |
Pour setter un attribut (id compris) il suffit de faire:
Code :
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
||
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 3 ![]() |
AHhh ok, merci !
|
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() ![]() Tiger Scott Développeur Web Inscription : juin 2006 Messages : 1 289 ![]() |
beau travail
![]() petit detail (tellement petit que je suis surment passe a cote)... mais as-tu prevu la possibilite d'une valeur par default ? (je pense notamment aux checkbox/radio)
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins. N'oubliez pas le Le tag resolu. Need_! |
|
|
00
|
|
|
#15 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 889 ![]() |
Non la plupart n'ont pas de valeur par défaut car l'attribut value n'est pas mandataire en XHTML. Il faut la mettre à la main ou remplir le formulaire avec une série de valeur comme spécifié dans l'exemple.
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
|
00
|
Copyright © 2000-2013 - www.developpez.com