Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MVC] "Globalny" kontroler
markonix
post
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ę:
  1. if (isset($_POST['logout'])) // wylogowanie i ewentualne przekierowanie

Jak to najlepiej powinno wyglądać w MVC?

Ten post edytował markonix 28.03.2012, 22:02:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat
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.

Zalezy jak jest zbudowana aplikacja, w symfony bodajze kazda akcja to osobny plik ja mam frontcontroller/controller i kazdy ma x akcji...

Cytat
@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ę.

O wiele lepszym wyjscie bylby system trigger-ow/event-ow niz plugin-y, bo jako tako plugin to czesc aplikacji ktora rozszerza dany modul/komponent o jakas funkscjonalnosc ktora jest transparentna(jawna) dla uzytkownika.

Tak jak mowi @by_ikar Uwierzytelnianie powinno byc jedno w jednym miejscu

Ten post edytował marcio 2.04.2012, 09:57:17
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: 10.10.2025 - 22:53