J'ai lu quelque part, et je ne me souviens pas où, c'est alors echoun moyen plus efficace de produire des données print.
Pourquoi le noyau Drupal utilise- printt-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 echoun moyen plus efficace de produire des données print.
Pourquoi le noyau Drupal utilise- printt-il autant? Y a-t-il une raison particulière à cela?
Réponses:
echoest 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 printdé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 printpeut être utilisé dans un éventail beaucoup plus large de cas echo, le premier présente certains avantages. Il vous laisse trois options:
printechosi possible et se replierprintechotoujours et refactorisez votre code s'il echone 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.