Pour faire suite à ma ou mes questions d’hier, je continue mes tests et développements pour en arriver à ce genre de code :
$fld = new formField();
$fld
->name($iname)
->id($wfid)
->size(20)
->length(255)
->default(html::escapeHTML($s['value']))
->class(['maximal', $class])
->lang($core->auth->getInfo('user_lang'))
->spellcheck(true)
->label(new formLabel($label));
echo $fld->render();
Au lieu de ça, actuellement :
echo '<label for="' . $wfid . '">' . form::field([$iname, $wfid], 20, 255, [
'default' => html::escapeHTML($s['value']),
'class' => 'maximal' . $class,
'extra_html' => 'lang="' . $core->auth->getInfo('user_lang') . '" spellcheck="true"'
]) . $label . '</label>';
C’est vrai que pouvoir chaîner les affectations rend le code encore plus facile à lire…
1 De JcDenis -
C’est quand même vachement plus sympa à lire et à comprendre ! Sans compter l’uniformisation dont je parlais hier, plus besoin de savoir ou mettre le label el saut de ligne, le title, etc…
Par contre ça prend 30 lignes :p
2 De Franck -
C’est vrai que ça prend plus de lignes, on peut toujours réduire en faisant comme ça :
Ça fait gagner une ligne :-)
3 De JcDenis -
Tu nous trouverais pas une astuce pour faire un appel de façon static, histoire de se passer du passage par new xxx(); et ainsi pourvoir directement le lancer dans un ligne echo.
echo '<p>blabla</P>' . formField::create()->id('plop')->value('waza')->render() . '<p>...</p>';
Idem si je veux ajouter une classe css à un label ça commence à être très long… ;)
4 De JcDenis -
Et en passant comme je sais que tu n’as pas l’habitude que ça arrive, j’ai fait un PR sur Github pour une mini correction ;)
5 De Franck -
Une seule ligne
echo…
? Je préfère m’occuper dans un premier temps de la mise en place de toutes les propriétés et ensuite seulement gérer l’affichage :-)Mais j’ai mergé ta PR, donc maintenant tu peux ;-)
6 De JcDenis -
Alors dans Dotclear, oui il vaut mieux écrire ça ligne après ligne, proprement et détaillé, mais pour un brouillon comme moi dans un plugin, je trouve qu’écrire ce qui suis, n’est pas mal non plus :
7 De JcDenis -
Bon je vais devoir payer ma crêpe… Je viens de découvrir que depuis des lustres on peut écrire :
8 De Franck -
Oui on peut beaucoup jouer avec tout ça :-)