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: 167 Pomógł: 2 Dołączył: 15.02.2004 Ostrzeżenie: (30%)
|
Cytat I dlaczego to, że jakiś framework nie trzyma się zasad MVC, jest wadą? Oczywiście, że nie jest to wada. I nie uważam, że odejście od wzorca MVC stawia dany framework na gorszej pozycji. Wzorzec ma jedynie ułatwiać pewne sprawy, jednak nie zastosotwanie danego wzorca nie powoduje od razu, że aplikacja jest źle zaprojektowana... Cytat Teraz albo akcja oddaje sterowanie do kontrolera, który dochodzi do wniosku, że należy wykonać odpowiedni widok, lub akcja sama odpala potrzebny widok. I tutaj jest problem. Jak wykonać to praktycznie? Model zwraca odpowiedź: dodano dane do bazy danych lub nie. I na podstawie tej odpowiedzi kontroler uruchamian kolejną akcję? Jak to wygląda w praktyce (prosty, łatwy przykład w kodzie)? Cytat Muszę się też przyczepić do modelu. Po prostu szał mnie bierze, kiedy widzę $model = new Model(). Model to jest warstwa, a nie klasa. Rysujesz sobie, co aplikacja ma robić, i tworzysz z tego ładny diagram klas, bez żadnego HTTP, HTML, kontrolerów, akcji i całego tego balastu. Właśnie dzięki takiemu forum jak to mamy możliwość porpawiania swoich błędów i uczyć się od najlepszych. A więc jak to będzie wyglądało? Co masz na myśli mówiąc wartwa? Model to warstwa czyli metoda klasy kontrolera? |
|
|
|
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
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: 26.11.2025 - 04:30 |