![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Takie krótkie pytanie.
Czy np. jeżeli mam globalną akcje wylogowania to czy należy stworzyć odpowiedni kontroler "wylogowanie" czy jest coś w stylu globalnego kontrolera? W starych aplikacjach gdzieś w pliku głównym (czyli taki globalny) np. umieszczało się: Jak to najlepiej powinno wyglądać w MVC? Ten post edytował markonix 28.03.2012, 22:02:08 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Właśnie... jakie pluginy?
@makonix tak wyglądają(w dużym skrócie) ścieżki działania dla różnych żądań: dla żądania "xyz.pl/podstrona/ref=ktos" FrontController -> Router -> Kontroler ZZZ -> Akcja HUHU dla żądania "xyz.pl/ref=ktos" FrontController -> Router -> Kontroler XXX -> Akcja HAHA innymi słowy Router odpalony przez FC odpala(lub przekazuje ich nazwy dalej) kontroler i akcję dopasowując parametry url do tych, które posiada z jakiegoś źródła(baza danych, plik xml/ini/.php itp.). Więcej o FrontControllerze i routingu dowiesz się przeglądając źródła np. Zenda |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Właśnie... jakie pluginy? @makonix tak wyglądają(w dużym skrócie) ścieżki działania dla różnych żądań: dla żądania "xyz.pl/podstrona/ref=ktos" FrontController -> Router -> Kontroler ZZZ -> Akcja HUHU dla żądania "xyz.pl/ref=ktos" FrontController -> Router -> Kontroler XXX -> Akcja HAHA innymi słowy Router odpalony przez FC odpala(lub przekazuje ich nazwy dalej) kontroler i akcję dopasowując parametry url do tych, które posiada z jakiegoś źródła(baza danych, plik xml/ini/.php itp.). Więcej o FrontControllerze i routingu dowiesz się przeglądając źródła np. Zenda @CuteOne: Sprawa systemu referencyjnego ma niewiele wspólnego z routing-iem, więcej z FrontController-em, według przykładu, który zaprezentowałeś zarówno akcja HUHU, jak i akcja HAHA musiałaby implementować kod sprawdzający, czy w adresie URL znajduje się parametr ref. Co więcej każda inna akcja w każdym innym kontrolerze musiałaby implementować dokładnie taki sam kod, co w ogóle mija się z celem. Jedynym słusznym rozwiązaniem jest plugin uruchamiany przez FrontController jeszcze przed "przetworzeniem" żądania. Działało by to mniej więcej tak: 1. wysyłamy żądanie, które odbiera FrontController, 2. FrontController uruchamia plugin, który sprawdza, czy w adresie/żądaniu występuje parametr ref i podejmuje odpowiednią akcję, 3. FrontController na podstawie żądania pobiera informacje od Routera i uruchamia odpowiedni kontroler i odpowiednią akcję. Gwoli wyjaśnienia, chodzi o to, że jeden i ten sam identyfikator referencji może być przesłany jako parametr zarówno przy wejściu na stronę główną, jak i na każdą inną podstronę. EDIT: Podsumowując kwestię logowania i wylogowywania... obie akcje (bo powinny to być raczej akcje, aniżeli kontrolery) powinien realizować jeden i ten sam kontroler autoryzacji. To co się stanie po zalogowaniu, czy też po wylogowaniu można zrealizować na wiele sposobów. Ten post edytował mortus 2.04.2012, 09:26:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 04:38 |