Ho letto da qualche parte, e non ricordo dove, questo echo
è un modo più efficiente di produrre dati allora print
.
Perché Drupal core usa print
così tanto? C'è qualche motivo speciale dietro questo?
Ho letto da qualche parte, e non ricordo dove, questo echo
è un modo più efficiente di produrre dati allora print
.
Perché Drupal core usa print
così tanto? C'è qualche motivo speciale dietro questo?
Risposte:
echo
è solo più veloce negli ambienti accademici. La differenza è molto marginale. Un rapido benchmark che ho appena fatto: il tempo di recuperare una riga da una tabella con più di 2000 nodi è di 1 unità.
Per ottenere un miglioramento di 1 unità, avrei bisogno di sostituire circa 3.700.000 (oltre 3 milioni) print
dichiarazioni con echo
. In altre parole, se si desidera migliorare le prestazioni, questo non è certo il punto di partenza.
Visto che print
può essere utilizzato in una gamma molto più ampia di casi echo
, il primo presenta alcuni vantaggi. Ti lascia tre opzioni:
print
echo
ove possibile e eseguire il fallbackprint
echo
sempre e refactificare il codice se echo
non può essere utilizzato, per usarloDrupal è andato in default sul primo.
Per rispondere alla tua vera domanda sul perché questo è stato scelto: non lo era. È semplicemente cresciuto in questo modo.
if (! print some_method() ) {print some_other_method()}
. Poiché la stampa restituisce un valore VERO se in realtà ha stampato qualcosa. L'eco non restituisce nulla, motivo per cui è anche più veloce. Un altro esempio che vedrai è return print $somevalue
alla fine di un metodo per restituire lo stato.