![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
Witam,
wiem że temat brzmi w sposób nieco zagmatwany ale nie wiedziałem jak to inaczej nazwać. O co chodzi postaram się wyjaśnić na przykładzie
czy istnieje możliwość aby przed wywołaniem metody "a" została niejawnie wywołana metoda "before" czyli kolejność wywołania wyglądała by tak before => a idąc dalej,
i tu kolejność wywołań miała by wyglądać tak before => a => before => b. A idąc jeszcze dalej, czy metoda before może być informowana jaka metoda będzie wywołana po niej? jedyne co przychodzi mi do głowy to jakaś metoda call która przyjmie jako parametry nazwę metody i jej parametry ale takie rozwiązanie nie jest automatyczne i jeśli "się zapomni" użyć call to before nie będzie wywołany ;/ czy zrobienie czegoś takiego jest możliwe ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Brzmi jak typowe zadanie właśnie dla AOP-u. W Wikipedii widzę jest odnośnik do kilku bibliotek dla PHP pozwalających niby na wprowadzenie tego paradygmatu: http://en.wikipedia.org/wiki/Aspect-orient...ng#cite_note-29 - jakiej jakości są one i czy w ogóle warte są czasu nie wiem, z żadnej nie korzystałem.
Jeżeli jednak będziesz chciał pozostać przy "normalnym" rozwiązaniu pod żadnym pozorem kodu sprawdzającego uprawnienia nie pchaj do klasy mającej robić główne zadanie aplikacji. Wykonaj sprawdzenie wszystkich koniecznych rzeczy przed ich wywołaniem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 02:00 |