|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 705 ![]() |
Bonjour à tous!!!!!!!
Désolée pour la question mais je tente de lire la doc sur Zend framework; malheureusement sur le site en français la partie Zend_Form est en anglais et j'ai plus de mal Je ne comprends rien aux Decorators!!!!! ![]() JE NE COMPRENDS PAS A QUOI ILS SERVENT ![]() JE NE COMPRENDS PAS QUEL EST SON UTILISATION LA PLUS UTILE (normal puisque je ne comprends pas à quoi ils servent)
|
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 705 ![]() |
J'ai compris ....
par contre tout conseil sur leur utilisation la plus efficace je suis prennante... merci!!! |
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Ils servent aux éléments (zone de saisie, boutons radios, cases à cocher, etc.) que tu as définis dans ton Zend_Form a se "dessiner" ("render" en anglais) eux-mêmes dans une vue, c'est à dire produire le code HTML leur correspondant sans que tu aies quoi que ce soit d'autre à faire que de les déclarer. Ils gèrent également l'affichage des messages d'erreurs issus de la validation du formulaire (si des Validateurs ont été déclarés pour les éléments du formulaire).
Leur utilisation est optionnelle : tu peux très bien te servir d'un Zend_Form uniquement pour valider les données d'un formulaire utilisateur, et écrire toi-même le code HTML de ce formulaire. Le nom de "Décorateur" leur vient du patron de conception (Design Pattern) "Decorator" selon lequel ils ont été conçus par les développeurs de Zend.
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
00
|
|
|
#4 | ||
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 705 ![]() |
Merci!!!
Si j'ai bien compris du moment où j'utilise Zend_Form pour faire du par exemple: Code :
les questions sont: 1: J'aimerais pouvoir insérer ces input (4) dans une seule div, comment faire? 2: Puis-je créer mon xhtml directement et puis y insérer ces inputs? Et comment on fait? 3: Dois-je obligatoirement le faire directement dans ma classe Form ? Voili les questions que je me pose. merci!! |
||
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : septembre 2007 Messages : 357 ![]() |
1: J'aimerais pouvoir insérer ces input (4) dans une seule div, comment faire?
Si ces 4 éléments sont les seuls éléments de ton formulaire tu peux ajouter : $this->addDecorator(('HtmlTag'), array('tag' => 'div', 'class'=>'test')); ce qui donnera : <form><div>...</div></form>. Sinon, tu peux utiliser un Groupe et ajouter de la même façon un décorateur <div> à ton groupe 2: Puis-je créer mon xhtml directement et puis y insérer ces inputs? Et comment on fait? Ben là j'ai pas trop compris ce que tu veux dire. Mettre du html directement tel quel dans tes éléments ? Oui, c'est ce que je fais. J'ai laissé tomber l'usage des décorateurs de ZF, trop compliqué pour mon cerveau. J'ai créé mes propres décorateurs et je balance dedans le html que je veux (à savoir des tableaux dégueulasse). Et idem pour les groupes. Comment faire ? Dans la doc en ligne, tu verras un exemple sur la création d'un décorateur nommé Composite. Il est basique et excellent pour comprendre les décorateurs. Tu verras la méthode Render() : c'est là que tu vas mettre ton html. 3: Dois-je obligatoirement le faire directement dans ma classe Form ? Si tu veux utiliser les zend_form, cad valid(), populate(), oui. Enfin, je crois. Franchement à partir du moment ou j'ai créé mes décorateurs mettant en forme mes éléments comme je le souhaitais, j'ai été ravi des Zend_Form. Sinon, ça m'a fait déprimé ces histoires de <dt><dd> htmlTag, serieux, trop compliqué pour mon petit cerveau. |
|
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Citation:
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 705 ![]() |
Je vous remercie tous les deux!!!!
Je fais un petit back-office d'admin et j'ai voulu approfondir le Zend_Form mais vous avez raison ça a l'air trop complexe pour pas grand chose cette histoire de decorators, donc je vais finir comme cela pour cette admin mais je crois que pour mon prochain projet Zend je reviendrai à notre cher XHTML direct. Merci, votre aide a été super importante!!!!!
|
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() Inscription : mai 2002 Messages : 1 022 ![]() |
Citation:
Tout à fait d'accord sur cette analyse ! C'est une intrusion d'une couche dans une autre.
__________________
Alexandre T. PHP5/MySQL5 Codes prêts à l'emploi 30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc... Mes articles |
|
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 705 ![]() |
D'accord
![]() Bon , voilà ce qui me manque alors: Supposons que je vais vers votre conseil (je suis en train de le faire) et de créer directement mon XHTML avec ma forme, etc, etc. Dans mon controller, comment j'accède à une forme x? Car pour la vue pas de problème $this->view->trucmuche alors pour une forme??? car je voudrais ajouter dynamiquement un input hidden puis faire un isValid sur ma forme, etc; etc, etc. Comment fait-on? merci |
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 705 ![]() |
D'accord j'ai compris que ce n'est pas possible ....
Mais lorsqu'on a Zend_Form c'est vrai que les decorators et les validators permettent d'afficher tout de suite un message lorsque par ex: on ne saisit pas une valeur obligatoire ou des choses du genre. Comment simulez-vous ce comportement sans Zend_Form? Car il faut reconnaître que pour cela c'est bien utile. C'est dômmage ou je n'ai pas tout compris encore.... merci |
|
|
00
|
|
|
#11 | ||||||||
|
Membre habitué
![]() Inscription : septembre 2007 Messages : 357 ![]() |
Je vais te montrer comment j'utilise les zend form, sachant que ce n'est que mon utilisation.
Je créer un formulaire de cette façon: Code :
Dans mon controlleur, j'initialise dans chaque init() la form qui sera utilisé comme par exemple : Par exemple, dans l'action modifierAction j'ai ce code : Code :
Lorsque, par exemple je récupère les infos de mes formulaires avant d'insérer dans ma base (le getPost me retourne le 'name' de l'élément dans le formulaire : Code :
Code :
Du coup je ne sais pas si je réponds à tes interrogations mais sache que les formulaires s'utilise de façon copier-coller sans modifier grand chose. Je te conseil vraiment, si tu as beaucoup de formulaire à comprendre leur fonctionnement avant de te décider si tu gardes ou non Zend_Form. |
||||||||
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 705 ![]() |
Je te remercie
Au debut c'est vers cette façon de travailler que j'y suis allée... mais je trouve qu'on s'éloigne trop du XHTML et que finalement gérer un simple formulaire avec 3 champs et 2 bouttons devient une usine à gaz. Le seul avantage que j'avais trouvé c'est le fait de contrôler tout de suite la saisie et d'afficher un message et c'est un très bel avantage mais pour le reste..... Je me trompe peut-être et ce serait bien que ce post serve à que d'autres personnes donnent leur avis et expérience sur le sujet car ça a l'air d'être une décision à prendre dès le début du projet et entraine deux façons très différentes de travailler. Moi c'est mon premier projet sur Zend et j'ai gouté aux deux façons de faire sans encore me rendre compte de quelle est la bonne, la meilleure, la plus propre, la plus allant vers le HTML du futur (HTML 5?), la plus efficace, peformante, etc, etc. Tout commentaire est le bienvenu!! |
|
|
00
|
|
|
#13 | ||
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 705 ![]() |
whitespirit Peux tu me montrer un exemple de tes classes de création d'element? Code :
|
||
|
|
00
|
|
|
#14 | ||||
|
Membre habitué
![]() Inscription : septembre 2007 Messages : 357 ![]() |
Voici un élément simple :
Code :
A savoir, voici la fonction render de mon élément composite (le code est quasi un copier/coller du code de la documentation en ligne). Dans la variable $output je met le html que je veux avoir. J'ai une charte graphique homogène, du coup, tous mes éléments de tous mes formulaires ont le même design. Ce design est ici basique mais si mon infographiste c'était déchiré un peu plus à me faire un truc plus poussé ou en full css, ça n'aurait rien changé pour moi. Code :
|
||||
|
|
00
|
|
|
#15 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 705 ![]() |
Je te remerci
Par contre, j'aurais aimé que plus de discussion existe autour de ce sujet... Dommage MERCI ENCORE ![]()
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com