API : encapsuler les noms
TL/DR : une fonction d'API ou une option pour transformer tous les noms, mais dans le but spécifique de les encapsuler.
Avant / après:
bidule prefixe[bidule]
machin[chose] prefixe[machin][chose]
Un besoin revenu plusieurs fois dernièrement : soit un formulaire qui combine plusieurs listes de saisies. On ne connait pas par avance le contenu de chaque liste : les saisies peuvent avoir les mêmes noms.
Il faut donc cloisonner, c'est à dire changer les noms afin que les valeurs de chaque liste soit dans leur propre tableau.
Pour l'exemple, imaginons 2 listes avec exactement les même noms :
Saisies 1 | Saisies 2 |
---|---|
truc |
truc |
machin[chouette] |
machin[chouette] |
On veut changer les noms de la sorte pour avoir au final 2 tableaux prefixe1
et prefixe2
:
Saisies 1 | Saisies 2 |
---|---|
prefixe1[truc] |
prefixe2[truc] |
prefixe1[machin][chouette] |
prefixe2[machin][chouette] |
On a bien une fonction saisies_transformer_noms, mais je crois pas qu'il soit possible de faire un masque de remplacement qui fonctionne quand le nom est déjà un tableau (machin[chouette]
), ou si c'est possible ça va être bonbon à mémoriser.
Ça serait plus simple s'il y avait une fonction dédiée, par exemple :
$saisies = saisies_encapsuler_noms($saisies, 'mon_prefixe');
Des avis ?