|
|||||||
| Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO |
|
|
Publicité ' | |||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#1 | ||||||
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
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 : Bien sûr, cela peut donner du code très laid comme ici : Code :
Antonio Touriño propose cet exemple : Code :
Code :
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.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2005 Messages : 1 741 ![]() |
Je ne vois pas trop l'intérêt de cette syntaxe, surtout qu'au vu des exemples que tu as montré ça n'apporte strictement rien à la lisibilité du code.
Au moins aund on utilise le array() on voit directement si on a un tableau a plusieur dimension ou pas. Puis pourquoi utiliser [] ? Pourquoi ne pas reprendre la syntaxe du C avec des accolades ? Par exemple : Code :
int matrice[2][3] = { { 1 , 2 , 3 } , { 4 , 5 , 6 } }; |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() |
Pour ma part, j'ai voté "sans avis".
Pourquoi ? Parce qu'en effet, array() ressemble plus à un appel de fonction, que les crochets me semblent raccourcir le code sans affecter la lisibilité, mais que l'habitude poussera beaucoup de développeurs à préférer l'utilisation de array(). Au final, et puisque les 2 écritures devraient cohabiter, ça ne changera pas les choses de façon fondamentale. N'étant ni absolument pour, ni absolument contre, je suis "au milieu"
__________________
|
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
J'ai voté "pour".
Étant donné que l'ancienne syntaxe n'est pas abandonnée, il vaut mieux laissé le choix aux développeurs. Ainsi dans quelque années on pourra voir "sur le terrain" l'utilisation qui en est faite et peut-être qu'avec PHP 8, une des 2 syntaxes sera supprimées.
__________________
Modérateur PHP |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : décembre 2007 Messages : 426 ![]() |
Je vote pour à 100%
|
|
|
00
|
|
|
#6 |
![]() ![]() Directeur technique Inscription : septembre 2006 Messages : 5 959 ![]() |
Sans avis aussi ... ça ne va pas changer la face du monde , les developpeurs PHP ayant pris une habitude (vous savez ce qu'on dit sur les habitudes) , la nouvelle syntaxe risque peut etre de ne jamais servir , les nouveaux developpeurs eux vont peut etre s'y mettre mais en tout cas ce n'est pas une revolution (dans mon petit monde en tou cas !)
|
|
|
00
|
|
|
#7 |
|
Membre éprouvé
![]() Développeur Web Inscription : avril 2005 Messages : 395 ![]() |
j'ai voté sans avis ... comme beaucoup l'ont déjà fait remarqué cela ne va pas apporter de grand changement... puis cela fera plaisir au capitaine Crochet
|
|
|
00
|
|
|
#8 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Ce qui serait intéressant, serait d'avoir l'avis des "contre"
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#9 |
|
Invité(e)
Messages : n/a ![]() |
Je suis plutôt pour (dsl Yogui
|
00
|
|
|
#10 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Les accolades ont déjà une signification pour les chaînes en PHP : $string{4} représente le 5° caractère
En revanche, les crochets ont toujours été exclusivement pour les tableaux.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#11 | ||
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Citation:
Citation:
La meilleurs arme contre les surprises de mise en prod le vendredi soir c'est la clareté d'un code. Il faut que ça soit de la Vitell.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
||
|
|
00
|
|
|
#12 | |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Citation:
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
|
|
#13 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Tu n'as peut-être pas compris l'objet de mon message. Les accolades ont déjà une signification de scope, ainsi qu'une signification pour les strings. Ajouter une 3° signification pour les tableaux serait sans doute très très confus pour le langage.
En revanche, les crochets ont toujours été réservés exclusivement aux tableaux.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#14 |
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 918 ![]() |
Je suis contre, car je pense qu'il est utile de dissocier les crochets [ ] qui servent d'identifiants de lecture (ou de push dans le cas de $foo[] = 1) des parenthèses qui servent d'identifiants d'écriture.
L'exemple de Max Antonov est assez parlant sur ce point : dans la nouvelle syntaxe Code :
foo (['a'=2,'b'=>['x'=>5,'c'=>[1,4,2]],'n'=>$bar[4]]); Code :
foo (['a'=2,'b'=>['x'=>5,'c'=>[1,4,2]],'n'=>$bar,[4]]); |
|
|
00
|
|
|
#15 | |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Citation:
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
|
|
#16 |
![]() ![]() Inscription : août 2006 Messages : 1 207 ![]() |
D'un point de vue personnel, je n'ai jamais vraiment apprécié l'utilisation de array() pour déclarer des tableaux. Donc, j'aurai plutot tendance a être pour.
Les [ ] sont également déjà utilisé dans le cadre des tabeaux pour la lecture, donc les mettre également pour l'écriture ne me semble pas absurde. D'un autre coté, c'est vrai que 15 manières differentes d'écrire la même chose, a terme, ca n'est pas terrible. Bref... j'vais attendre de voir passer un ou deux autres arguments avant de voter...
__________________
Rakken Oneira, un monde imaginaire d'Heroic Fantasy. Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/ |
|
00
|
|
|
#17 |
|
Membre actif
![]() Inscription : décembre 2005 Messages : 303 ![]() |
je vote contre à 100%.
Maintenant que je suis dans le monde du travail (plus à l'école donc) les scripts sur lesquels je travail sont complexes. Bien que n'ayant que très peu travailler sur d'autres langage à l'école (vb, c, java) je trouve qu'il manque une chose crucial à la compréhension d'un code php : la déclaration des variables. Lorsqu'on lit un script on perd du temps à savoir si la variable est un entier, une chaine, un tableau, boolean. On voit même des choses absurdes comme un entier qui passe en string ou inversement. Je pense que le problème poser n'est qu'une solution rapide de ce problème. Au moins, array() permet de visualiser le type de la variable, si on en vient a mettre des crochets ca va devenir encore plus illisble. Ainsi, je proposes une obligation de déclarer/typer les variables avant leur utilisation comme dans les autres langages ! |
|
|
00
|
|
|
#18 | |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Citation:
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
|
|
#19 |
|
Membre éclairé
![]() Inscription : décembre 2007 Messages : 426 ![]() |
Le PHP est un langage avec un faible typage (c'est un choix), ca présente des inconvénients, mais aussi beaucoup d'avantages, il suffit d'être rigoureu et de bien coder.
Si on reste dans cette logique, je vois pas pourquoi les tableaux serait les seuls variable ou l'on doit déclarer le type, c'est pas logique. Pour être logique moi je suis non seulement pour, mais je serais pour la suppression du array qui est sous forme de fonction, évidemment c'est pas possible à cause de l'existant, et c'est vrai que faire cohabiter 2 syntaxe c'est pas top. L'idéal aurait été de le faire dès sa création. Le PHP présente pleins d'incohérence de ce type, normal c'est un langage ouvert.
__________________
Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème |
|
|
00
|
|
|
#20 | |
![]() ![]() Inscription : août 2006 Messages : 1 207 ![]() |
Citation:
Dans le genre, le pire que j'ai du faire, c'est un truc du genre "machaine-1", faire un substr pour récuperer le "1", faire un ++ et reconcaterner. Ca a l'air étrange, mais ca reste pratique. Je considère même que c'est une force du php. (Après, avoir un $tmp, y stocker du texte et trois ligne plus bas y stocker un int, c'est effectivement porc, tout dépend de l'usage qu'on fait des possibilités, encore une fois) Plutot que de forcer absolument le typage, j'aimerai au moins qu'il puisse être optionnel. Pouvoir déclarer un string, et de fait, interdire les conversions implicite. Il me semble que c'est déjà possible pour les classes (en parametre d'une fonction spécifier qu'elle ne prend que des variables d'une classe donnée (sur ce point précis, je ne suis pas super sur de moi, quelqu'un pour confirmer/infirmer ?)), alors pourquoi pas pour les types de base ?
__________________
Rakken Oneira, un monde imaginaire d'Heroic Fantasy. Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com