
Envoyé par
Jonathan Petitcolas
Je ne vois pas bien les problèmes que cette écriture peut engendrer ? Si quelqu'un pouvait m'éclairer là-dessus ?
Car, au contraire, cela évite de passer par une variable temporaire, et donc de faire une économie de mémoire. J'ai été très étonné que PHP n'accepte pas cette écriture il y a de cela quelques temps, écriture que je trouve... naturelle.
Par contre, le nom donné... "déréférencement de tableaux"... C'est du lourd ! ^^
Juste que la fonction n'a pas intérêt à retourner "null" ...
il est d'usage de tester le retour des fonctions avant de l'utiliser...et pour cela on a besoin d'une variable temporaire si on ne veut pas invoquer la fonction deux fois
En somme:
$firstChild = $parent->getChildren()[0]
devrait etre écrit
1 2 3 4
|
$children = $parent->getChildren();
if ($children != null)
$firstChild = $children[0]; |
En outre si on n'utilise jamais que le premier element d'une liste retournée par une fonction, c'est qu'on a quelque part un probleme d'architecture....
Cela dit PHP a toujours été un langage permissif et c'est une de ses forces, dans le cadre d'un développement "script" ou on est "quasi-certain" du retour, cela reste acceptable, mais il est comme toujours necessaire de comprendre le probleme éventuel que peut poser cette confiance aveugle
Partager