Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MVC] FrontController = Router?
mrWodoo
post 30.06.2013, 19:10:10
Post #1





Grupa: Zarejestrowani
Postów: 160
Pomógł: 6
Dołączył: 13.01.2012
Skąd: Bytom

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


Witam, nie rozumiem pewnej rzeczy, w niektórych aplikacjach widziałem, że jest Router, ale jest również FrontController, ale czy czasem nie jest to to samo? Jakie zadanie spełnia front controller, a jakie router? Bo z mojej skromnej wiedzy
router zbiera dane przekazane do skryptu w adresie żądania (strona.pl/kontroler/akcja/parametr1/parametr2/) i na podstawie odczytanych danych ładuje kontroler, odpale akcję z parametrami
front controller - odpala kontroler z zebranych wcześniej danych przez inną klasę (http://skrypta.pl/budujemy-wlasny-framework-mvc-w-php-front-controller-i-kontrolery-pomocnicze-czesc-2/)

Wiem, kretyńskie pytanie, ale trochę mi się wszystko pomieszało...


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Dejmien_85
post 30.06.2013, 19:59:10
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 23
Dołączył: 23.04.2013

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


Front Controller to wzorzec projektowy. Chodzi o to, aby wszystkie żądania przetwarzać w jednym miejscu (np. przez plik index.php). Programiści tworzą przeróżne klasy implementujące ten wzorzec, wybierają różne nazewnictwo. Router słownikowo opiera się tylko na przetwarzaniu URL, ale w wielu przypadkach jest bezpośrednio odpowiedzialny za wywoływanie poszczególnych klas, metod i przekazywanie parametrów.

Routing/Router to samo przetwarzanie URL, Front Controller to wzorzec, idea. Często jednak ludzie tworzą klasy oparte (świadomie bądź nie) na idei Front Controllera i przypisują temu nazwę Routera/Routingu. W wielu przypadkach hasła Router/Routing i FrontController będą odnosić się do jednej i tej samej idei. Twoja w tym głowa, aby rozpoznać, czy gdy ktoś mówi "Router" to czy chodzi mu o sam Routing, czy o coś więcej.

Na przykładzie frameworków typu CodeIgniter, czy CakePHP mogę śmiało powiedzieć, że Routerowi i Routingowi przeważnie przypisuje się coś więcej, niż tylko przetwarzanie URL, bo z tym przetwarzaniem w parze idzie nierozerwanie zmiana zachowania aplikacji.

Cytat(mrWodoo @ 30.06.2013, 20:10:10 ) *
Wiem, kretyńskie pytanie, ale trochę mi się wszystko pomieszało...

Tak naprawdę nie ma głupich pytań (kto pyta, ten nie błądzi) - są tylko głupie odpowiedzi. ; )

Ten post edytował Dejmien_85 1.07.2013, 17:45:14
Go to the top of the page
+Quote Post
Spawnm
post 30.06.2013, 20:09:27
Post #3





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Zadaniem routera nie jest wywoływanie kontrolerów czy akcji, a jedynie przetwarzanie url aby dostarczyć odpowiednie dane potrzebne do wyświetlenia właściwej strony.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:00