Bonjour,

Sur certains projets, comme https://github.com/guzzle/guzzle (y'en a beaucoup d'autre mais celui- me vient en premier à l'esprit), je vois des backslash sur des fonctions, comme sur la page : https://github.com/guzzle/guzzle/blob/b964ca597e86b752cd994f27293e9fa6b6a95ed9/src/Utils.php#L31

Si j'ai bien compris, le \ sur \var_dump($input); sert à utiliser la fonction native de PHP ?

Par exemple, si y'a une fonction var_dump() créée dans le fichier, le backslash sert à donner la priorité à la fonction native de PHP.

Cordialement

2 réponses


quenti77
Réponse acceptée

Hello,

Oui en effet c'est pour utiliser la fonction qui se trouve dans le namespace racine. Si tu es dans un autre namespace cela assure en effet que tu utilise la bonne fonction. Il y a un autre effet c'est d'aller plus vite pour résoudre la recherche dans la fonction.

Sans \ php va voir la fonction var_dump a appeler en étant dans le namespace Toto. Il va devoir regarder si cette dernière existe dans ce namespace avant de chercher dans le namespace racine. C'est donc pour gagner du temps.

En vrai perso je suis pas fan de mettre un use \var_dump() en haut ou de faire \var_dump() à chaque fois. Surtout qu'une fois analysé et compilé en opcode il ne fait plus tout ça. Je préfère garder lisible.

Machou
Auteur

Ok, de mon expérience en dév, j'ai appris que tout le monde faisait un peu comme il voulait tout en essayant de respecter les PSR :P

Perso je ne suis pas fan aussi :) mais c'était pour confirmer.

Merci =)