Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Je commence à développer une application avec Zend (Framework super bien penser d'ailleurs). Mais je rencontre quelques trucs qui me semble pas évidents.
Par exemple, pour Zend_Form_Element_Captcha, on le construit avec un "name" et un tableau d'options pour le configurer. Dans le soucis de connaitre mieux les classes du FrameWork, j'ai choisit d'utiliser beaucoup plus les noms des méthodes qui correspondent à un validateur et un filtre que d'utiliser le nom. Par exemple, j'ai choisi
$userName->setLabel ( 'Votre nom ' )
->setAttrib('size', 25)
->setAttrib('maxlength', 30)
->addFilter( new Zend_Filter_StripTags())
->addFilter( new Zend_Filter_StringTrim())
->addValidator ( new Zend_Validate_StringLength ( 0, 30 ) )
->addValidator ( new Zend_Validate_Alnum())
->addValidator ( new Zend_Validate_NotEmpty())
;
que la version
$username->addValidator('alnum')
->addValidator('regex', false, array('/^[a-z]/'))
->setRequired(true)
->addFilter('StringToLower');
Comme je le disais, c'est juste pour un souci pédagogique, pas autre chose.
Mais voici les problèmes que je rencontre:
1- Absence de toutes les méthode pour toutes les options :
Par exemple pour faire $form->setAttrib('maxlength', 30), je pensais qu'il pouvais exister une méthode "setMaxlength" mais malheureusement non, oubien je n'ai pas bien compris où aller chercher.
2- A defaut de mettre ces méthodes, peut être définir des constantes "MAX_LENGTH = maxlength" dans la classe "Zend_Form" pour qu'on puisse l'utiliser dans les classe filles... En effet, quelqu'un qui ne maitrise pas bien HTML ou qui ne sais pas quel balise HTML génère un composant Zend, il ne peut pas savoir quel attribut utiliser...
Par exemple pour "Zend_Form_Element_Captcha", j'ai trouvé cette construction dans le tutorial "quickstart"
// Add a captcha
$this->addElement('captcha', 'captcha', array(
'label' => 'Please enter the 5 letters displayed below:',
'required' => true,
'captcha' => array(
'captcha' => 'Figlet',
'wordLen' => 5,
'timeout' => 300
)
));
mais je ne trouve pas de méthode équivalente pour faire ceci sans passer par les "array()" d'options. En plus je ne trouve pas de doc sur l'ensemble des options possibles et leurs valeurs pour ce composant.
Please pourriez vous m'apporter vos lumières par rapport à ces questions.
Je vous remercie d'avance
Hors ligne