Je viens de regarder le code wordpress et j'ai trouvé cette définition 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);
}
Maintenant, pourquoi gaspillons-nous un cycle CPU simplement pour appeler une autre fonction que nous pouvons simplement faire nous-mêmes et nous n'aurons plus à nous souvenir de deux noms de fonction différents pour la même chose.
Réponses:
Les actions font des choses. Les filtres modifient les choses. Vous faites des choses dans une action, alors que si vous appliquez un filtre, vous ne vous attendez pas à ce que des événements ou des actions se produisent, à part la modification de la valeur que vous filtrez. Par exemple, ce n'est pas correct d'envoyer un e-mail ou d'enregistrer une valeur de base de données dans un filtre, mais c'est correct dans une action. Il peut y avoir de rares moments où vous devez violer cette convention, mais elle est utile et nécessaire.
En remplaçant tous
add_action
et lesdo_action
appels par leurs homologues de filtrage, vous supprimez la distinction et forcez la connaissance des noms comme'the_content'
etc. sont des actions ou des filtres hors du monde, et dans votre mémoire, encourageant les erreurs.Donc, au lieu de rendre votre code plus difficile à lire, sachez que si votre code est lent, ce n'est pas parce que vous n'avez pas rasé une ou deux instructions ici et là, c'est soit votre serveur lent, soit votre structure algorithmique de votre code et la nature des données traitées. Vous auriez beaucoup plus à refactoriser vos processus, à mettre à niveau le matériel ou à changer vos paradigmes. Dans le grand schéma des choses, un site lent est très probablement lent car il fait beaucoup de choses ou contient des requêtes mal écrites, par exemple des requêtes post qui reposent sur des méta ou
__not_in
des requêtes de typePour mettre les choses en perspective, lorsque WordPress fonctionne, PHP exécute des millions d'instructions. L'échange d'actions contre des filtres ferait à peine une brèche dans le 1 millième supérieur d'un centile.
http://fabien.potencier.org/article/8/print-vs-echo-which-one-is-faster
Si vous voulez vraiment essayer, regardez comment le gars a utilisé le VLD et testez votre théorie par vous-même.
la source