Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
J'ai lu récemment le tuto de Julien sur la gestion des fomulaires par le modèle. Jusqu'ici je n'avais pas réfléchi à la question, puisque je defini mes formulaires dans un fichier ini lié aux controlleurs. Par exemple le formulaire d'enregistrement des clients est dans 'Controllers/Config/client.ini. Ca marche pour un formulaire tout simple, mais lorsque qu'il s'agit de faire un formulaire plus compliqué (sous-formulaires, select provenant de la bd, ...) je suis bien obligé d'en repasser par le code, du controlleur.
Son approche visant à décharger le controlleur de ce travail me plait, mais je n'arrive pas à me fixer les idées. J'ai crée un dossier 'Form' dans chaque sous dossier de mon modele, genre
-->Model
-->User
-->Form
-->Default.php
-->Login.php
-->Table.php
-->Row.php
-->User.php (composant de la façade du modèle)
Du coup j'ai modifié dans mon crud la fonction getForm() (précédemment _createForm()) ainsi j'ai
public function getForm($formName = 'default') { // chargement du formulaire depuis un fichier ini (ancien code) #$config = new Zend_Config_Ini($formConfig, 'formulaire'); #$form = new Fast_Form($config); // Chargement du formulaire depuis le modèle $formClass = 'Model_' . ucfirst($this->view->controller) . '_Form_' . ucfirst($formName); $form = new $formClass(); return $form; }
Je ne suis pas très sûr de ce que je fais, alors j'aimerais savoir comment vous vous y prenez avec vos formulaires.
Merci.
Lesauf
Hors ligne
Dans un fichier à part.
Class Form_MonForm extends Zend_Form { }
Il n'y a une partie de la doc qui parle de ça...
23.4.10. Custom forms sur la page http://framework.zend.com/manual/fr/zen … forms.html
Hors ligne
Dans la version 1.8, il y un dossiers forms, tu peut les mettres dedans, et après tes classes sont de la forme : Form_Login pour le fichier qui est dans /application/forms/Login.php
Hors ligne
benji07 a écrit:
Dans la version 1.8, il y un dossiers forms, tu peut les mettres dedans, et après tes classes sont de la forme : Form_Login pour le fichier qui est dans /application/forms/Login.php
Je suis cette structure personnellement
Hors ligne
Pages: 1