Aktionen machen Dinge. Filter ändern Dinge. Sie führen Dinge in einer Aktion aus, während Sie beim Anwenden eines Filters keine Ereignisse oder Aktionen erwarten, außer der Änderung des zu filternden Werts. zB Es ist nicht in Ordnung, eine E-Mail zu senden oder einen DB-Wert in einem Filter zu speichern, aber in einer Aktion ist es in Ordnung. Es kann seltene Momente geben, in denen Sie gegen diese Konvention verstoßen müssen, aber sie ist nützlich und notwendig.
Indem Sie alle add_action
und do_action
Aufrufe durch ihre Filter-Gegenstücke ersetzen , entfernen Sie die Unterscheidung und erzwingen das Wissen darüber, ob Namen wie 'the_content'
usw. Aktionen oder Filter außerhalb der Welt und in Ihrem Gedächtnis sind, was zu Fehlern führt.
Anstatt Ihren Code schwerer lesbar zu machen, sollten Sie sich darüber im Klaren sein, dass wenn Ihr Code langsam ist, dies nicht daran liegt, dass Sie hier und da nicht ein oder zwei Anweisungen rasiert haben, sondern entweder an Ihrem langsamen Server oder an Ihrer algorithmischen Struktur Ihres Codes und die Art der Daten, die verarbeitet werden. Sie würden viel mehr davon haben, Ihre Prozesse umzugestalten, die Hardware zu aktualisieren oder Ihre Paradigmen zu ändern. Im großen Schema der Dinge ist eine langsame Site höchstwahrscheinlich langsam, weil sie viel tut oder schlecht geschriebene Abfragen hat, z. B. Post-Abfragen, die auf Meta basieren, oder __not_in
Typabfragen
Wenn WordPress ausgeführt wird, führt PHP Millionen von Anweisungen aus. Das Austauschen von Aktionen gegen Filter würde kaum zu einer Beule im oberen Tausendstel eines Perzentils führen.
http://fabien.potencier.org/article/8/print-vs-echo-which-one-is-faster
Ich habe eine neue Wordpress-Installation ausprobiert. Das Skript wird angehalten, bevor es mit einem "Busfehler" auf meinem Laptop endet, aber die Anzahl der Opcodes lag bereits bei mehr als 2,3 Millionen . Genug gesagt.
Wenn Sie es wirklich versuchen möchten, schauen Sie sich an, wie der Typ die VLD verwendet hat, und testen Sie Ihre Theorie selbst.