Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jak powinien wyglądać kontroler / router ?
snaers
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 24.03.2011

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


Witam, postanowiłem trochę pobawić się w PHP obiektowo, przyszedł czas na MVC i o ile z modelem i widokiem raczej problemów nie mam to nie wiem jak poprawnie zrobić kontroler.

Mam stronę z:
- show.php
- edit.php
- add.php
- admin.php

Normalnie to na początku wyświetlałem index.php, no i potem linkami, ale to to nie jest kontroler, więc jak to rozegrać?
Na stronie index.php mam wywołać klasę kontrolera? A jak potem w tym pliku kontrolera to zrobić?
Przejrzałem kilka frameworkow, ale to mi jeszcze bardziej namieszało, więc prosiłbym o takie najprostsze naprowadzenie jakby to miało wyglądać.

Pozdrawiam! (IMG:style_emoticons/default/smile.gif)

Ten post edytował snaers 24.03.2011, 22:39:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Lukaskolista... Dobrze, że zastrzegłeś o tym MVC i że nie twierdzisz tego bo by Cię tu zagryźli pewnie ortodoksi (IMG:style_emoticons/default/wink.gif) K2 implementuje MVP, a K3 HMVC(P). Niestety ale pełna implementacja MVC w środowisku web nie jest możliwa z powodu samej architektury. protokół bezstanowy, kounikacja jako żądanie. To wszystko uniemożliwia prawidłową implementację tego wzorca w sieci web.

Co do kodu to zależy jak leży. Ja w modelu obrabiam dane, bo to jego działka. Kontroler ma sterować a widok wyświetlać. Jeśli dla zmiany widoku konieczne byłoby znaczne kombinowanie z przebudową kontrolera - podziękuję. Przykład? Masz wyświetlić strone jako html... Fajnie. Wysyłasz żądanie do modelu by Ci to dał,potem ustawiasz widok, obrabiasz w kontrolerze dane modelu i... nadchodzi konieczność generowania strony jako pdf. Tworzysz kolejny kontroler bo obecny sie do tego nie nadaje z racji przejęcia części zadań modelu? Źle. Musisz maksymalnie odseparować te działania. Model ma już zwrócić uniwersalne, przetworzone dane a kontroler ma je tylko do widoku pchnąć. Kontroler powinien jedynie albo zmienić widok z html na pdf, albo sam widok powinien się połapać, że ma ustawić inny nagłówek i nieco inaczej dane potraktować. To jest właśnie prawidłowy schemat działania, a nie robienie wszystkiego w kontrolerze. Kohana na to pozwala, ale nie oznacza to automatycznie, że jest to prawidłowa implementacja wzorca. Zwyczajnie została tak napisana, że możesz wszystko zrobić kontrolerem, bez odwoływania się do modelu lub widoku. A to nie jest prawidłowe w żadnym wypadku.
Go to the top of the page
+Quote Post

Posty w temacie
- snaers   [PHP] Jak powinien wyglądać kontroler / router ?   24.03.2011, 22:29:42
- - PlayKiller   Router -> Controler (korzysta z Model) -> Vi...   24.03.2011, 22:35:44
|- - lukaskolista   Cytat(PlayKiller @ 24.03.2011, 22:35...   25.03.2011, 08:52:30
- - snaers   Racja, źle to pytanie zadałem. Jak zrobić ten rout...   24.03.2011, 22:39:27
|- - fifi209   Cytat(snaers @ 24.03.2011, 22:39:27 )...   24.03.2011, 22:43:23
- - snaers   Ok, ok, ale wciąż nie bardzo wiem jakbym miał taki...   24.03.2011, 22:46:48
- - thek   Router pobiera URL i parsuje go. Na podstawie tego...   24.03.2011, 23:01:59
- - snaers   Czyli mam do tego użyć $_SERVER['REQUEST_...   24.03.2011, 23:06:45
- - everth   Symfony w diagramach UML. Poprzeglądaj sobie jak t...   24.03.2011, 23:07:52
- - fifi209   Odpowiedni rewrite RewriteRule .* index.php?costa...   24.03.2011, 23:07:59
- - snaers   Symfony trochę oglądałem od strony kodu, ale to zd...   24.03.2011, 23:22:01
- - Crozin   @PlayKiller, @fifi209, @thek: A co ma router do od...   24.03.2011, 23:48:18
- - snaers   No dzięki, ale dalej nie wiem jak się do tego zabr...   25.03.2011, 00:13:18
- - thek   Zastosowalem za duży skrót myślowy. Postaram to ni...   25.03.2011, 01:10:48
- - thek   Lukaskolista... Dobrze, że zastrzegłeś o tym MVC i...   25.03.2011, 09:22:58
- - snaers   A MVC w Symfony jest poprawne? Na tej podstawie mo...   25.03.2011, 10:37:00
- - thek   By nauczyć prawidłowo wzorcy czytaj dokumentację. ...   25.03.2011, 11:24:20
- - snaers   Ja też nie wiem jak to działa, bo to jest przykład...   25.03.2011, 12:16:48
- - thek   No przecież masz gotowy prosty router... Co więcej...   25.03.2011, 12:27:59
- - snaers   Nie chciałem gotowca tylko naprowadzenie. Dalej po...   25.03.2011, 12:44:54
- - thek   Ale o to chodzi, że nie wiemy nic o Twoim kodzie. ...   25.03.2011, 13:41:27
- - snaers   No tak, masz rację. Nie podałem nic, bo nic nie ma...   25.03.2011, 14:16:15
- - Crozin   Cytat- Chcę zbudować samochód, jak to zrobić? - Zo...   25.03.2011, 14:59:35
- - snaers   Ale mi nie o to chodzi! Od początku tego temat...   25.03.2011, 15:07:28
- - thek   Ale jak nie? Opisaliśmy Ci jak działa router wraz ...   25.03.2011, 16:42:28
- - snaers   Napisałeś, że nie wiecie jak u mnie wygląda cała s...   25.03.2011, 17:19:37
- - Crozin   Nie, nie chodzi o kilka linijek kodu. Ale oczywiśc...   25.03.2011, 17:34:30
- - thek   O przepraszam... Na PW Ci napisałem więcej niż tyl...   26.03.2011, 02:04:49


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: 4.10.2025 - 19:51