Acabo de buscar en el código de WordPress y encontré esta definición de add_action:
function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) {
return add_filter($tag, $function_to_add, $priority, $accepted_args);
}
Ahora, ¿por qué estamos desperdiciando un ciclo de CPU por solo llamar a otra función que simplemente podemos hacer nosotros mismos y luego no tendremos que recordar dos nombres de funciones diferentes para la misma cosa?
Respuestas:
Las acciones hacen cosas. Los filtros modifican cosas. Hace cosas en una acción, mientras que si aplica un filtro, no espera que ocurran eventos o acciones, aparte de la modificación del valor que está filtrando. Por ejemplo, no está bien enviar un correo electrónico o guardar un valor de DB en un filtro, pero está bien en una acción. Puede haber momentos raros en los que necesite violar esta convención, pero es útil y necesaria.
Al reemplazar todo
add_action
y lasdo_action
llamadas con sus contrapartes de filtro, elimina la distinción y fuerza el conocimiento de si otros nombres como'the_content'
etc. son acciones o filtros fuera del mundo y en su memoria, lo que fomenta errores.Entonces, en lugar de hacer que su código sea más difícil de leer, tenga en cuenta que si su código es lento, no es porque no afeitó una o dos instrucciones aquí y allá, es su servidor lento o la estructura algorítmica de su código y La naturaleza de los datos que se manejan. Obtendrá mucho más de refactorizar sus procesos, actualizar el hardware o cambiar sus paradigmas. En el gran esquema de las cosas, un sitio lento probablemente sea lento porque hace mucho o tiene consultas mal escritas, por ejemplo, publicar consultas que se basan en meta o
__not_in
escribir consultasPara ponerlo en perspectiva, cuando se ejecuta WordPress, PHP ejecuta millones de instrucciones. El intercambio de acciones por filtros apenas haría mella en la milésima parte superior de un percentil.
http://fabien.potencier.org/article/8/print-vs-echo-which-one-is-faster
Si realmente quieres probar, mira cómo el tipo usó el VLD y prueba tu teoría por ti mismo.
fuente