Przeczytałem gdzieś i nie pamiętam gdzie, to echojest wtedy bardziej wydajny sposób przesyłania danych print.
Dlaczego rdzeń Drupala printtak często wykorzystuje ? Czy kryje się za tym jakiś szczególny powód?
Przeczytałem gdzieś i nie pamiętam gdzie, to echojest wtedy bardziej wydajny sposób przesyłania danych print.
Dlaczego rdzeń Drupala printtak często wykorzystuje ? Czy kryje się za tym jakiś szczególny powód?
Odpowiedzi:
echojest tylko szybszy w środowiskach akademickich. Różnica jest bardzo marginalna. Szybki test porównawczy, który właśnie zrobiłem: czas pobierania jednego wiersza z tabeli zawierającej więcej niż 2000 węzłów wynosi 1 jednostkę.
Aby uzyskać poprawę o 1 jednostkę, musiałbym zastąpić około 3.700.000 (ponad 3 miliony) printwyciągów echo. Innymi słowy, jeśli chcesz poprawić wydajność, nie jest to dobre miejsce na rozpoczęcie.
Pierwszy z nich ma pewne zalety, ponieważ printmożna go stosować w znacznie szerszym zakresie przypadków echo. Pozostawia ci trzy opcje:
printechoile to możliwe, i włącz rezerwęprintechozawsze i popraw kod, jeśli echonie można go użyć, aby go użyćDrupal domyślnie działa na pierwszym.
Aby odpowiedzieć na twoje aktualne pytanie, dlaczego wybrano to: Nie było. Po prostu urósł w ten sposób.
if (! print some_method() ) {print some_other_method()}. Ponieważ print zwraca PRAWDA, jeśli faktycznie coś wydrukowało. Echo nic nie zwraca, dlatego też jest szybsze. Innym przykładem, który zobaczysz, jest return print $somevaluekoniec metody zwracania statusu.