Ich habe irgendwo gelesen und weiß nicht mehr, wo, das echoist eine effizientere Art, Daten auszugeben print.
Warum verwendet Drupal Core printso viel? Gibt es dafür einen besonderen Grund?
Ich habe irgendwo gelesen und weiß nicht mehr, wo, das echoist eine effizientere Art, Daten auszugeben print.
Warum verwendet Drupal Core printso viel? Gibt es dafür einen besonderen Grund?
Antworten:
echoist 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) printAussagen 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 printdies in einer viel größeren Bandbreite von Fällen angewendet werden kann echo, hat das erstere einige Vorteile. Sie haben drei Möglichkeiten:
printechowo möglich und greifen Sie aufprintechoimmer und überarbeiten Sie Ihren Code, wenn er echonicht 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 $somevalueam Ende einer Methode zum Zurückgeben des Status.