Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Intercepting Filter
bela
post
Post #1


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


Powiedzcie mi czy dobrze myśle o tym wzorcu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Mamy sobie FilterManager, i do niego ładujemy filtry (::addFilter, config xml, nie ważne jak). Filtry mogą się wykonywać przed lub po wykonaniu akcji. Przykład filtra : StartOutputBufferingFilter, AuthorizationFilter, CacheFilter. I na przyklad CacheFilter stwierdza, że mamy swieży cache i czy może on zaprzestać wywoływania akcji ? Albo AuthorizationFilter, wywoła akcje loginForm ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Vengeance
post
Post #2





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


Mam pewne pytanie związane z tym wzorcem. Możliwe że w złe miejsce "wsadzam" obsługę tego typu rzeczy, ale poinformujcie mnie o tym :]

Przykładowa aplikacja, dodajemy kilka filtrów w tym filtr odpalający podaną przez użytkownika akcje. Wszystkie filtry w którymś tam momencie wywołują $this->NextFilter(); co powoduje przejście do kolejnego filtra.

Jak przy takim schemacie umożliwić jednemu filtrowi wstrzymanie uruchomienia innego. Np. akcja sprawdza autoryzacje, ponieważ użytkownik jest niezalogowany zostaje uruchomiona akcja Login a nie podana przez użytkownika w parametrze akcja DeleteNews.

Ale co ważne, cała reszta filtrów ("w dół") muszą być odpalane (np. filtr od Bemchmarka liczący czas musi być odpalony na samym końcu).
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 01:41