![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
nickyla
Ce qui me surprend est la comparaison par beaucoup de PHP à javascript et le fait de justifier l'utilisation d'une syntaxe douteuse (niveau robustesse du code) dans PHP par son utilisation courante dans javascript
![8O](https://www.developpez.net/forums/images/smilies/icon_eek.gif)
Syntaxe douteurs, c'est ton avis... D'un point de vue logique, lorsqu'une fonction retourne un objet, il parait normal d'y accéder directement...
Par exemple, ce code me parait logique et compréhensible.
1 2 3 4 5 6 7 8 9
|
class sample {
public $attribute='test';
public static function getInstance() {
return new static();
}
}
echo sample::getInstance()->attribute; |
Mais lorsqu'elle retourne un tableau, pourquoi est ce que cela deviendrait bordélique ?
1 2 3 4 5 6 7 8 9 10
|
class sample {
private $privateAttribute='test';
public function getVars() {
return get_object_vars($this);
}
}
$sample = new sample();
echo $sample->getVars()['privateAttribute']; |
je pense également a une class qu'on ne peut pas modifier (ou extention php) et qui retourne des resultats SQL sous forme de tableau, pourquoi ne pourrions nous pas écrire :
$count = $instance->fetchRow("SELECT count(*) as nb FROM ma_table")['nb'];
Pourquoi devrions nous impérativement passer par une variable intermédiaire ?
Ou encore un code tout con comme :
$provider= explode('@', $emailChecked)[1];
Sans être obligé de faire
list(, $provider) = explode('@', $email);
qui pour le coup ne me parait vraiment pas propre
Cela dit, il ne faut pas non plus faire n'importe, comme appeler la fonction en boucle dans un for ou un while. Ce n'est pas la méthode magique qui va remplacer le monde, mais a partir du moment où elle apporte quelque chose de nouveau, je ne vois pas pourquoi on ne devrait pas l'intégrer dans Php.
Je ne suis pas farouchement pour cette fonctionnalité, mais je ne trouve pas d'argument contre (argument plus évolué que "le stagiaire qui sait pas programmer va casser mon projet")
Partager