Open Time - PHP 7 - Commentaires<p>Open time, open mind, open eyes</p>2024-03-29T07:16:30+01:00Franck Paulurn:md5:61070eb8c883ae7581f861faefddecbfDotclearPHP 7 - Franckurn:md5:22ac0be21c683228f74fc58dcc55abe02020-12-30T07:56:27+01:002020-12-30T07:56:27+01:00Franck<p>Aucun besoin de respecter l’ordre des arguments optionnels si tu utilises le tableau clé-valeur, c’est tout l’intérêt sans compter que ceux pas utiles n’ont pas besoin d’y figurer.</p>
PHP 7 - Bernardurn:md5:3b3ede5473447ea3f6a3581844938d772020-12-29T19:41:43+01:002020-12-29T19:41:43+01:00Bernard<p>J’avais constaté cela parce que j’ai essayé de construire un plug permettrait de construire des champs d’un formulaire — ou tout au moins de proposer les lignes de code le permettant…</p>
<p>J’ai plus ou moins réussi à générer un array des attributs (donc arguments) à envoyer <em>(avec l’ordre à respecter / méthodes class form)</em> mais je me suis arrêté après plusieurs pbs non résolus… pour l’instant.</p>
<p>J’envisage des solutions qui pourraient être, par ex, un classe qui étendrait la classe form… Mébon, chuis pas rendu ;)</p>
PHP 7 - Bernardurn:md5:cb2fb9144f1d3a84ed60dee9e48f15992020-12-29T19:31:51+01:002020-12-29T19:31:51+01:00Bernard<p>Oui j’avais remarqué $defaut as array et la fonction qui extrait les infos.
Pour d’autres types ça peut être $size (date…), $checked (checkbox) ou $min(number)…</p>
<p>Je suppose aussi que cela dépend de l’ordre des arguments, du type $default (si existe)…</p>
<p>Ça impose quand même de bien inspecter l’ordre et la valeur des arguments envoyés à la fonction utilisée afin de bien l’exploiter et je suppose qu’il doit être difficile de modifier complètement les processus sans risquer de casser les utilisations antérieures via les plugs, par ex.</p>
PHP 7 - Franckurn:md5:7f2fa96485608c4c6e165307e9ff9f492020-12-29T15:47:15+01:002020-12-29T15:47:15+01:00Franck<p>D’ailleurs j’en avais un peu causé dans <a href="https://open-time.net/post/2018/01/29/Optionnel" rel="ugc">ce billet</a>.</p>
PHP 7 - Franckurn:md5:89f48b55db141228e09fd37e737319bc2020-12-29T15:43:34+01:002020-12-29T15:43:34+01:00Franck<p>À propos des attributs des différents champs fournis par la bibliothèque <code>form</code> de Clearbricks, j’ai ajouté, il y a quelques années, la possibilité de fournir les paramètres optionnels sous forme de tableau clé → valeur, ce qui permet de s’affranchir de l’ordre et de ne fournir que ceux réellement indispensables ; exemple avec <code>form::combo</code> où le 3e argument peut-être ce genre de tableau :</p>
<pre><code>form::combo(['name', 'id'], $data, ['class' => 'maximal', 'extra_html' => 'data-language="php"']);
</code></pre>
<p>Le typage « fort » n’est pas obligatoire avec PHP, mais ça reste une bonne pratique de développement qui peut permettre d’éviter quelques bourdes ;-)</p>
PHP 7 - Bernardurn:md5:1a8d96f51ac1afa0150467539201f2662020-12-29T15:29:58+01:002020-12-29T15:29:58+01:00Bernard<p>J’ai pô tout compris mais je me demande si le typage est “obligatoire”…
Ex: mixed comme type de retour est souvent utilisé => objet ou array</p>
<p>Quant au taf, certes il y en aura.
Je regardais par ex la classe form de Clearbricks, admirant les astuces trouvées pour construire les attributs en fonction de ceux permis par la norme.
Avec une interrogation, cependant, à propos de la place de ‘required’ parmi les attributs communs (avant le dernier “autocomplete”) qui oblige à bien faire attention à la valeur et l’ordre des arguments passés à une fonction.</p>
<p>Ne serait-ce que reprendre cette partie en imaginant des astuces permettant à la fois de se conformer aux normes établies —toujours en évolution, ainsi que l’interprétation quant à la valeur donnée à un attribut, tout en permettant une utilisation relativement simple/facile de chaque fonction, rien que ça, c’est déjà, amha, un challenge ;-)</p>