Ich habe irgendwo gelesen und weiß nicht mehr, wo, das echo
ist eine effizientere Art, Daten auszugeben print
.
Warum verwendet Drupal Core print
so viel? Gibt es dafür einen besonderen Grund?
Ich habe irgendwo gelesen und weiß nicht mehr, wo, das echo
ist eine effizientere Art, Daten auszugeben print
.
Warum verwendet Drupal Core print
so viel? Gibt es dafür einen besonderen Grund?
Antworten:
echo
ist nur im akademischen Umfeld schneller. Der Unterschied ist sehr gering. Ein kurzer Benchmark, den ich gerade gemacht habe: Das Abrufen einer Zeile aus einer Tabelle mit mehr als 2000 Knoten dauert 1 Einheit.
Um eine Verbesserung von 1 Einheit zu erzielen, müsste ich ungefähr 3.700.000 (über 3 Millionen) print
Aussagen durch ersetzen echo
. Mit anderen Worten, wenn Sie die Leistung verbessern möchten, ist dies kaum der richtige Ort, um anzufangen.
Wenn man bedenkt, dass print
dies in einer viel größeren Bandbreite von Fällen angewendet werden kann echo
, hat das erstere einige Vorteile. Sie haben drei Möglichkeiten:
print
echo
wo möglich und greifen Sie aufprint
echo
immer und überarbeiten Sie Ihren Code, wenn er echo
nicht verwendet werden kann, um ihn zu verwendenDrupal hat auf dem ersten Standard.
Um Ihre eigentliche Frage zu beantworten, warum dies gewählt wurde: Es war nicht. Es ist einfach so gewachsen.
if (! print some_method() ) {print some_other_method()}
. Da print ein TRUE zurückgibt, wenn es tatsächlich etwas gedruckt hat. Echo gibt nichts zurück, weshalb es auch schneller ist. Ein weiteres Beispiel, das Sie sehen werden, befindet sich return print $somevalue
am Ende einer Methode zum Zurückgeben des Status.