Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Hooki w bazie danych czy ustawiane w plikach pluginów?, Gdzie przechowywać, skąd pobierać?
adbacz
post
Post #1





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Co będzie szybsze w aplikacji z około 20-30 pluginami (zakładając, że jeden plugin to jeden plik PHP) a ten plugin zawiera co najmniej jeden Hook:

1. Podczas instalowania pluginu wywoływać specjalną metodę (np. install), która za pomocą jakiegoś wrappera doda do bazy danych hooki, które ten plugin uzywa i później pobierać z bazy danych wszystkie rekordy z pluginami, które używają ten hook.
2. Podczas inicjalizacji systemu ładować wszystkie pliki pluginów i wywoływać ich metody (np. init), które to dodają na poczekaniu, do listy hooków, te, z których będą korzystać, i w tedy będziemy mieli wszystkie te, które będziemy mieli użyć już w tablicy.

Obydwa wyjścia mają wadę. Pierwsze - niepotrzebne zapytania do DB, tyle zapytań, ile wywołań hooków. Drugie - niepotrzebne ładowanie tylu plików i odpalanie tylu metod z każdym requestem.

Jak można to rozwiązać, by zwiększyć szybkość tego działania, jakie zastosować Cachowanie?

Ten post edytował adbacz 19.08.2014, 14:20:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


obojętnie jakie, zapisujesz sobie wynik w pliku jako serializowana tablica i działasz potem na niej.
Go to the top of the page
+Quote Post
CuteOne
post
Post #3





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Warto poczytać o wzorcu obserwator i lazy loading (IMG:style_emoticons/default/smile.gif)

Ten post edytował CuteOne 19.08.2014, 14:32:02
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 00:09