En una nota al margen: print siempre devolverá 1 como valor, echo no devolverá nada. Supongo que eso puede ser útil en algunos casos.
Bart
¿Qué tipo de caso podría ser?
jayarjo
¡Me lo he preguntado también! ¡Buena pregunta!
aendrew
Respuestas:
25
echoes solo más rápido en entornos académicos. La diferencia es muy marginal. Un punto de referencia rápido que acabo de hacer: el tiempo de recuperación de una fila de una tabla con más de 2000 nodos es de 1 unidad.
Para obtener una mejora de 1 unidad, necesitaría reemplazar alrededor de 3.700.000 (más de 3 millones) de printdeclaraciones con echo. En otras palabras, si desea mejoras de rendimiento, este no es el lugar para comenzar.
Visto que printse puede usar en una gama mucho más amplia de casos echo, el primero tiene algunas ventajas. Te deja tres opciones:
Siempre usa print
Usar echosiempre que sea posible y recurrir aprint
Use echosiempre y refactorice su código si echono puede usarse, para usarlo
Drupal ha incumplido el primero.
Para responder a su pregunta real de por qué se eligió esto: no fue así. Simplemente creció de esta manera.
¿Podría dar un ejemplo de cuándo no se puede usar echo? Es que no puedo imaginar ninguna en este momento.
jayarjo
66
Lo más obvio es if (! print some_method() ) {print some_other_method()}. Dado que print devuelve un TRUE si realmente imprimió algo. Echo no devuelve nada, por eso también es más rápido. Otro ejemplo que verá es return print $somevalueal final de un método para devolver el estado.
Respuestas:
echo
es solo más rápido en entornos académicos. La diferencia es muy marginal. Un punto de referencia rápido que acabo de hacer: el tiempo de recuperación de una fila de una tabla con más de 2000 nodos es de 1 unidad.Para obtener una mejora de 1 unidad, necesitaría reemplazar alrededor de 3.700.000 (más de 3 millones) de
print
declaraciones conecho
. En otras palabras, si desea mejoras de rendimiento, este no es el lugar para comenzar.Visto que
print
se puede usar en una gama mucho más amplia de casosecho
, el primero tiene algunas ventajas. Te deja tres opciones:print
echo
siempre que sea posible y recurrir aprint
echo
siempre y refactorice su código siecho
no puede usarse, para usarloDrupal ha incumplido el primero.
Para responder a su pregunta real de por qué se eligió esto: no fue así. Simplemente creció de esta manera.
fuente
if (! print some_method() ) {print some_other_method()}
. Dado que print devuelve un TRUE si realmente imprimió algo. Echo no devuelve nada, por eso también es más rápido. Otro ejemplo que verá esreturn print $somevalue
al final de un método para devolver el estado.