Ce message s’adresse surtout à Bruno qui a travaillé sur les classe
dcForm de la branche Twig, j'ai des petits soucis avec.
1) Dans la validation de formulaire je veux lire la valeur d'un champs
mais cela ne fonctionne pas comme pour son écriture.
Pour écrire la valeur d'un champs on fait :
dcForm->user_id = 'plop';
car on passe par :
dcForm->__set('user_id','plop');
Mais pour lire sa valeur si je fais :
echo dcForm->user_id;
ça ne marche pas, car ça me renvoie l'objet complet avec :
dcForm->__get('user_id');
J'ai donc rajouté à la classe dcField la fonction :
public function __toString() { return $this->value; }
qui renvoie la valeur du champs de la classe dcField ce qui donne :
echo dcForm->user_id = echo dcForm->__get('user_id') = echo
dcField->__toString()
Le problème se pose alors pour le test d'existence de sa valeur avec
empty(), en effet :
if (!empty(dcForm->user_id)) {...}
Ce test va uniquement chercher l'existence de l'objet dcField dans
dcForm et pas du tout sa valeur dans dcField il faut alors faire le test
de la manière suivante :
if (dcForm->user_id != ""){...}
Et avec ce test si l'objet n'existe pas dcForm renverra de toute façon
null ce qui garde le résultat de test exacte. En soit c'est pas grave et
je lai déjà vu dans pleins de code mais si on ne le sait pas ça
peut-être déroutant.
2) Avec l'ajout de dcField->__toString() je peux enfin lire facilement
sa valeur pour toutes les fonctions de validation de formulaire mais
pour poursuivre le formulaire je suis obligé d'écrire un truc assez
bizarre :
$form->user_id = $form->user_id;
Etrange non?! En fait ici je passe ce qui provient de ma validation de
formulaire vers mon futur champs de formulaire ! Il faudrait voir si on
ne devrait pas remplir les valeur de champs d'après les information du
_POST ? Ou si je me plante quelque part!
3) Dernière petite question, j'ai souvent quelques variables à passer
aux templates, pour l'instant je le fait avec $_ctx->ma_var = 'plop';
mais faudra quand même qu'on vois ce qu'on partage et ce qu'on ne
partage pas vers les templates ? Perso j'en ai aucune idée :-)
PS: J'ai presque fini mon test de passage de auth.php vers Twig, et je
trouve le code php vachement plus lisible à la fin et pourtant ce n'est
qu'un brouillon, ça promet de belle chose.
Voila, c'était mon quart d'heure klingon,
JC
_______________________________________________
Dev mailing list
[email protected]
http://ml.dotclear.org/listinfo/dev