|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() |
Salut à tous,
peut etre que ma question n'est pas ciblée à 100% sur le Zend_Framework, mais peut-être que l'utilisation du framework aura une décision finale sur la manière que je procèderai... Est-il avantageux de nommer les champs d'un form du genre: form[field1] , form[field2] Avantage en PHP (Adapté en Zend): Code :
est-ce que ca cause probleme en javascript? est-ce une méthode qui s'intègre mieux avec les Zend_Filter_Input? comme en facilitant le mapping de mon tableau associatif $form passé à la routine de validation: Code :
Bref, j'aimerais avoir vos opinions ou suggestions rapidement, afin de partir mon premier formulaire de mon systeme sur une base solide! à tenir en compte: rapidité de développement, de validation totu en restant flexible le plus possible.... car je trouve un peu irritant de constament faire : Code :
Bruno |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
D'un point de vue sécurité, il est plus intéressant de brouiller les pistes au maximum, donc de ne pas avoir de noms figés mais plutôt dynamiques. Cela ne change pas grand chose côté PHP (utilisation de variables de session plutôt que de noms fixes) mais côté HTML cela devrait être assez efficace. Désolé de ne pas trop répondre à ta question
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#3 | ||||
|
Futur Membre du Club
![]() Inscription : mai 2007 Messages : 25 ![]() |
vi, c'est bien, pourquoi pas
je l'ai utilisé dans mon démo http://lingping.info/zf. en fait, c'est post, utilise plutôt getPost Code :
Code :
|
||||
|
|
00
|
|
|
#4 | ||||||
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 426 ![]() |
que si que si tu peut très facilement récupérer tes tableaux
il arrive souvent dans un formulaire de véhiculer des informations qui concerne directement l'objet que l'on manipule et d'autre qui sont plutôt du contexte par exemple un formulaire pour éditer un objet client et un champ hidden qui dit si c'est un nouveau client ou une mise à jour dans ce cas il est pratique d'utiliser les nom comme method et pour les info client client[name] client[phone] quant au check box pas de problème client[checkgroup][valeur1] client[checkgroup][valeur2] etc. du coup tu peux très bien récupérer ton client d'une seule opération personellement je n'aime pas utiliser les tableau pour mes objets je fais donc Code :
$client = (object)$this->_getParam('client'); Code :
par exemple j'ai des clients qui on une adresse mais j'ai aussi des partenaires qui ont une adresse et des fournisseur un adresse est donc quelque chose d'indépendant d'un client donc dans mon formulaire client je mes les champs client[name] client[firstname] etc et address[street] address[city] ça facilite grandement la lecture du formulaire. et son traitement. j'ai des collègues qui ont pris un convention oClient sera un objet client alors que aClient sera un tableau ainsi il ont écrit une methode qui récupère un élément du formulaire en fonction de sont type retournera un objet si oClient est dans les variables du formulaire et retournera un tableau si aClient est présent pour cela il suffit de surcharger _getParam() mais on peut aller encore plus loin en fournissant un constructeur adapté pour ses objet métier Code :
$client = $this->_getParam('Client', 'Myapp_Model_Client'); il ne me reste qu'à faire Code :
par contre le code html du formulaire n'est pas exploitable avec d'autre langage que php par exemple c'est plus difficile de prendre le formulaire tel quel pour porter l'appli en java il faut aussi penser à utiliser des id sur les input de ton formulaire. quand tu veux les manipuler en javascript. en effet sans id le name de l'input est suffisant pour le manipuler. mais en javascript client[name] est un tableau par habitude je fai sainsi Code :
<input id='client_name' type='text' name='client[name]' value='' /> A+JYT Code :
<input name="client[checkgroup][box1]" value="toto" type="checkbox"/> Code :
<input name="client[checkgroup][]" value="toto" type="checkbox"/> dans le second un tableau indicé les valeur son nécessairement différentes client[options][]=emailInfo et client[options][]=newsletter il est possible d'imbriquer autant de niveau que l'on veut Code :
A+JYT |
||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com