Właśnie przyjrzałem się kodowi Wordpress i znalazłem definicję dodatkowej aktywności:
function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) {
return add_filter($tag, $function_to_add, $priority, $accepted_args);
}
Dlaczego marnujemy jeden cykl CPU tylko na wywołanie innej funkcji, którą możemy po prostu zrobić sami, a wtedy nie będziemy musieli pamiętać dwóch różnych nazw funkcji dla tej samej rzeczy.
Odpowiedzi:
Działania czynią różne rzeczy. Filtry modyfikują rzeczy. Robisz różne rzeczy w akcji, a jeśli zastosujesz filtr, nie spodziewasz się, że wystąpią jakieś zdarzenia lub akcje poza modyfikacją filtrowanej wartości. np. wysyłanie wiadomości e-mail lub zapisywanie wartości DB w filtrze jest nie w porządku, ale w działaniu jest w porządku. Mogą zdarzać się rzadkie chwile, gdy trzeba złamać tę konwencję, ale jest to przydatna i konieczna.
Zastępując wszystkie
add_action
ido_action
połączenia ich odpowiednikami filtrów, usuwasz rozróżnienie i wymuszasz znajomość innych nazwisk, takich jak'the_content'
itp., Działań lub filtrów z całego świata, które zapełniają Twoją pamięć, zachęcając do błędów.Zamiast więc utrudniać czytanie kodu, zdaj sobie sprawę, że jeśli twój kod jest powolny, to nie dlatego, że nie goliłeś instrukcji ani dwóch tu i tam, to albo twój powolny serwer, albo twoja algorytmiczna struktura kodu i charakter przetwarzanych danych. Znacznie więcej zyskałbyś na refaktoryzacji procesów, modernizacji sprzętu lub zmianie paradygmatów. W wielkim schemacie rzeczy powolna strona jest najprawdopodobniej wolna, ponieważ robi dużo lub ma źle napisane zapytania, np. Wysyłanie zapytań opartych na meta lub
__not_in
zapytania typuMówiąc inaczej, po uruchomieniu WordPress PHP wykonuje miliony instrukcji. Zamiana filtrów z trudem spowodowałaby wgniecenie w pierwszej tysięcznej części percentyla.
http://fabien.potencier.org/article/8/print-vs-echo-which-one-is-faster
Jeśli naprawdę chcesz spróbować, spójrz, jak facet użył VLD i sprawdź swoją teorię dla siebie.
źródło