Bonsoir,
Depuis quelques jours, un débat fait rage sur la liste internals@lists.php.net (archives HTTP) : faut-il ou ne faut-il pas ajouter une syntaxe de construction de tableaux PHP ?
Actuellement :
La proposition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $tab = array(1, 4, 8, 2);
Bien sûr, cela peut donner du code très laid comme ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $tab = [1, 4, 8, 2];
Mais cela permet aussi d'avoir une syntaxe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 if (1) { $a = [ [ ['a' => 1, 3], ($b = 3), ] ]; } else { $a = [ [ ['b' => 1, 3] ] ]; }Dans tous les cas, la syntaxe actuelle array() ne sera pas abandonnée, la nouvelle syntaxe sera donc un ajout. Le patch est visiblement prêt, mais le débat tourne simplement autour de "doit-on ou pas ?"
- Qui ne porte pas à confusion avec une fonction : array() n'est pas un appel de fonction malgré les apparences ;
- Plus courte ;
- Plus proche d'autres langages (ce qui peut être un point positif ou négatif).
Antonio Touriño propose cet exemple :
Max Antonov propose un contre exemple très bien senti, prouvant que la nouvelle syntaxe ne sera ni mieux ni moins bien lisible, mais simplement une alternative :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // Seems more natural to me. $array1 = ['a' => 1, 'b' => 2]; // than a function call... $array2 = array("a" => 1, "b" => 2);
Quelques têtes connues de PHP ne semblent pas être du même avis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 //is this a good-readable code? foo (array('a'=2,'b'=>array('x'=>5,'c'=>array(1,4,2)),'n'=>$bar[4])); //what difference in? foo (['a'=2,'b'=>['x'=>5,'c'=>[1,4,2]],'n'=>$bar[4]]);
- Les "-1" :
- Ilia Alshanetsky
- Pierre
- Arnold Daniels
- Derick Rethans
- Steph Fox
- ...
- Les "+1" :
- Elisabeth Smith
- Rasmus Lerdorf
- Andi Gutmans
- ...
Qu'en pensez-vous ?
PS : Ce n'est pas la première fois que ce débat apparaît dans la liste, mais cette fois un vote semble s'organiser.
Partager