J'ai lu quelque part, et je ne me souviens pas où, c'est alors echo
un moyen plus efficace de produire des données print
.
Pourquoi le noyau Drupal utilise- print
t-il autant? Y a-t-il une raison particulière à cela?
J'ai lu quelque part, et je ne me souviens pas où, c'est alors echo
un moyen plus efficace de produire des données print
.
Pourquoi le noyau Drupal utilise- print
t-il autant? Y a-t-il une raison particulière à cela?
Réponses:
echo
est seulement plus rapide dans les environnements académiques. La différence est très marginale. Un benchmark rapide que je viens de faire: Le temps de récupération d'une ligne d'une table avec plus de 2000 nœuds est de 1 unité.
Afin d'obtenir une amélioration de 1 unité, je devrais remplacer environ 3.700.000 (plus de 3 millions) de print
déclarations par echo
. En d'autres termes, si vous souhaitez améliorer les performances, ce n'est pas le bon point de départ.
Vu que cela print
peut être utilisé dans un éventail beaucoup plus large de cas echo
, le premier présente certains avantages. Il vous laisse trois options:
print
echo
si possible et se replierprint
echo
toujours et refactorisez votre code s'il echo
ne peut pas être utilisé, pour l'utiliserDrupal a par défaut le premier.
Pour répondre à votre question réelle sur la raison pour laquelle cela a été choisi: Ce n'était pas le cas. Il a simplement grandi de cette façon.
if (! print some_method() ) {print some_other_method()}
. Puisque print retourne TRUE s'il a réellement imprimé quelque chose. Echo ne renvoie rien, c'est pourquoi il est aussi plus rapide. Un autre exemple que vous verrez est return print $somevalue
à la fin d'une méthode pour renvoyer le statut.