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: Zablokowani Postów: 46 Pomógł: 0 Dołączył: 12.01.2006 Ostrzeżenie: (10%)
|
Analizując wszystkie wątki o MVC na tym forum zgłupiałem! Jedni twierdzą, że X rozwiązanie jest prawidłowe, inni zaś, że kłuci się to z wzorcem MVC. Są na tym forum znakomici programiści, którzy stworzyli całkiem niezłe frameworki oparte na tym wzorcu. Mam do Was wielką prośbę. Czy możecie zrobić malutkie podsumowanie poprzez odpowiedz na poniższe pytania:
1. Co to jest akcja, gdzie się ją implementuje? 2. Co to jest łańcuszek akcji, gdzie się go implementuje? 3. Czy wartswa logiki biznesowej należy do modelu? Są dwie klasy: jedna odpowiedzialna za obsługę plików xml (odczyt, zapis, edycja), druga klasa za akcji: zapisanie danych z formularza $_POST w pliku XML (korzystając z klasy do obsługi pliku). Czy obie te klasy to model? 4. Jak należy zbudować aplikacje wg zasady: jak najmniej kodu? Jedna stała, uniwersalna klasa dla kontrolera, kilka klas modelu ze wszystkimi możliwymi operacjami, kilka klas widoku. I teraz jak na podstawie np. linku domena.pl/news.php wykonac nastepujace czynnosci: pokazac wszystkie newsy z dnia dzisiejszego (klasa: news, metoda: pokaz), usunac wszystkie z dni poprzednich (klasa: news, metoda: usun), pokazac wszystkie komentarze (klasa: komentarz, metoda: pokaz). Skad system ma wiedziec, ze na podstawie krotkiej informacji pobranej z URL 'news' ma wykonac 3 zadania (X zadan i jakie to zadania)? Prosze o precyzyjna odpowiedz. Po przeczytaniu wszystkich watkow o MVC na tym forum juz calkowicie zglupialem (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) |
|
|
|
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
Prph Diękują za uwagi.
Co do die() - faktycznie nie p... 4.03.2006, 19:52:05
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
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: 26.11.2025 - 04:30 |