Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%)
|
Witam wszystkich,
Ostatnio zacząłem czytać o obiektowym php5, MVC, frameworkach i postanowiłem zacząć pisać kod, który byłby dla mnie wygodny oraz co ważne - nadawał się do powtórnego wykorzystania. Opiszę to co do tej pory zrobiłem. Proszę Was, znaczniej bardziej doświadczonych programistów, o uwagi na temat mojego podejścia. Zaznacze, że swoją pracę oparłem do tej pory na artykule Frameworki z php.pl, framework CakePHP oraz o wypowiedzi forumowiczach w topikach MVC. Charakterystyka ogólna: Drzewo projektu Kod |- actions/ (tu wrzucam kontrolery w postaci class.NazwaKontrolera.php) |- conf/ |- models/ (tu będą modele, do tej pory nic tam nie mam) |- lib/ | +-- core/ - tu są moje pliki wykorzystywane w całej aplikacji | +-- class.Dispatcher.php | +-- class.Controller.php |- templates/ - szablony Smarty | |- index.php Oczywiście nie jest to finalny widok drzewa projektu. Ale nie to jest ważne. Jak działa mój framework? index.php uruchamia Dispatcher, który parsuje URL. Jeżeli następuje zgłoszenie index.php/Akcja1/Parametr1/Parametr2/, to dispatcher załącza kontroler Akcja1, a następnie kontroler tej akcji wywołuje na sobie (w zasadzie na potomku) metodę Parametr1 z parametrem Parametr2. Przykład: strona.pl/index.php/Uzytkownik/Pokaz/1234. Dispatcher przekaże kontrolę do kontrolera Uzytkownik. Ten natomiast włączy metodę Pokaz(1234); Generalnie wygląda to właśnie tak. Z tego co czytałem, to chyba całkiem logiczne rozwiązanie. Oczywiście mogę się mylić... Pliki
Będę Wam ogromnie wdzięczny za uwagi. Pozdrawiam serdecznie, Adrian. Ten post edytował Prph 4.03.2006, 19:40:41 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%)
|
Diękują za uwagi.
Co do die() - faktycznie nie powinno go tam być. To dlatego, że wzorowałem się na CakePHP a tam było die() (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Wydaje mi się, że Kontroler to klasa danej akcji. To tak jakby moduł naszej aplikacji. Tzn jeżeli mamy akcję Użytkownik to wydaje mi się, że (nazwijmy je) podakcje typu PokażProfil, Usuń, Edytuj powinny być w tym kontrolerze Użytkownik, np:
Dlaczego Dispatcher? Dlatego, że był obecny w CakePHP. Nie wiem - nazwać go FrontController? Może faktycznie jest to lepszy pomysł. Z drugiej strony - przecież on rozbija URL i na podstawie tego odpala kontroler danej akcji. Czekam na dalsze uwagi. Pozdrawiam serdecznie, Adrian. |
|
|
|
Prph Zalążek frameworka z MVC 4.03.2006, 16:02:14
sf Brak komentarzy, miales jakis pomysl, ale nie kazd... 4.03.2006, 18:07:56
matid Cytat(sf @ 2006-03-04 18:07:56)Pozatym nie ba... 4.03.2006, 18:56:02
Fipaj Ten pomysł z Dispatcherem mi się nie podoba.
Czem... 4.03.2006, 19:58:25
Prph Ale przeciez w praktyce to tak działa
Ale chyba ... 4.03.2006, 20:26:36
matid We wzorcu MVC kontroler to część aplikacji odpowie... 4.03.2006, 20:51:50
Ociu Ja sobie podzieliłem to tak:
Kodframework
- Web
... 5.03.2006, 09:12:40
Prph Teraz raz jeszcze przeczytalem Wprowadzenie do MVC... 5.03.2006, 10:14:11
hwao W ogole brak Ci widoku w tym frameworku.
Glupio j... 5.03.2006, 10:24:42
matid U mnie to wygląda tak:
index.php:
W tym pliku two... 5.03.2006, 10:51:08
Prph Witam
Widzę, że niechętnie podchodzicie do mojej... 5.03.2006, 16:47:05
Ociu Widze, że czekasz aż ktoś rzuci kodem.[PHP] pobier... 7.03.2006, 14:59:34
Prph Przejrzałem kod Phienda, poczytałem dokumentacje, ... 9.03.2006, 23:24:05
hwao czemu u Ciebie akcja wlacza Model i Widok?
Pr... 10.03.2006, 06:48:18
Prph Yyyyy? A to co ma włączać model i widok?
Ludzie cz... 10.03.2006, 07:54:17
sf Hyh, w ostatnim php Solutions jest fajnie napisane... 10.03.2006, 09:03:36
mike_mech Cytat(Prph @ 2006-03-10 07:54:17)Yyyyy? A to ... 10.03.2006, 09:09:42
Martio Cytat(mike_mech @ 2006-03-10 10:09:42)Hyh, w ... 10.03.2006, 12:28:05
hawk Żaden nie trzymał się zasad wzorca MVC? Bo to zale... 10.03.2006, 14:51:59
Martio CytatI dlaczego to, że jakiś framework nie trzyma ... 10.03.2006, 15:40:32
Vengeance Akcja to po prostu część kontrolera. Ponieważ kont... 10.03.2006, 15:57:25
Martio Dobra, ale jak obiektowo w takim bądź razie zakodo... 10.03.2006, 20:41:56
DeyV W takim momencie okazuje, się, że wydzielenie z ko... 10.03.2006, 22:34:27
Prph No proszę... Najpierw ktoś mówi, że akcja nie ster... 11.03.2006, 00:51:03
DeyV Pamiętaj o jednej rzeczy.
MVC nie mówi, jak ma b... 11.03.2006, 01:57:31
Prph No dobrze, a teraz juz troche idac w przyszlosc...... 11.03.2006, 10:42:13
eMartio Zerknijcie na to. Czeskie, ale myślę, że dobre roz... 11.03.2006, 13:14:35
Martio Chciałbym jeszcze powrócić do akcji. Powiedzmy, że... 11.03.2006, 14:04:49
aleksander [PHP] pobierz, plaintext <?phpclass Kontroler... 11.03.2006, 14:39:03
Prph Ha! A to całkiem ciekawe rozwiązanie.
A jeszc... 11.03.2006, 18:01:49
hwao zalezy jakie to dane...
konfiguracja aplikacji de... 11.03.2006, 18:34:17
Prph Cytat(hwao @ 2006-03-11 17:34:17)konfiguracja... 11.03.2006, 20:07:57
hwao Cytat(Prph @ 2006-03-11 20:07:57)Cytat(hwao ... 11.03.2006, 21:11:28
hawk Cytat(Martio @ 2006-03-11 14:04:49)[PHP] pobi... 11.03.2006, 22:46:08
eMartio Postanowiłem odejść od wzorca MVC, realizując apli... 12.03.2006, 10:42:33
Ociu Ja podzieliłem sobie kontroler na FrontController ... 12.03.2006, 11:35:35
eMartio Analizując wszystkie wątki o MVC na tym forum zgłu... 13.03.2006, 14:17:03
Vengeance "Czy możecie zrobić malutkie podsumowanie... 13.03.2006, 15:38:35
hawk Cytat(Vengeance @ 2006-03-13 15:38:35)MVC mów... 13.03.2006, 16:27:47
aleksander @eMartio: http://php.pl/wortal/artykuly/php/archit... 13.03.2006, 16:44:31
eMartio Cytat(aleksander @ 2006-03-13 15:44:31)@eMart... 13.03.2006, 21:15:27
Prph Przeczytajcie na końcu!. Jak rozwiąć Widok?
W... 17.03.2006, 07:56:14 ![]() ![]() |
|
Aktualny czas: 13.01.2026 - 06:17 |