![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Od niedawna zaczalem interesowac sie MVC. Ale w dalszym ciagu nie wiem czy dobrze rozumuje istote MVC. Dlatego postanowilem napisac prosty (powtarzam, prosty, system) zeby sprawdzic czy ide w dobrym kierunku. Prosze o komentarze, jesli chodzi o sam schemat i istote wzorca MVC. Na poczatek przedstawie strukture katalogow: ./ - katalog glowny actions/ - katalog przechowujacy pliki .ini do wybranej akcji mozemy podac co ma zostac wykonane nastepnie configs/ - katalog z plikami konfiguracyjnymi - narazie nie uzyty controllers/ - katalog z kontrolerami - narazie tylko kontroler glowny models/ - katalog z plikami modeli views/ - katalog z plikami widokow index.php - plik glowny ktory uruchamia kontroler Zaczynamy od poczatku - kod kontrolera:
Zakladamy, ze uzytkownik wpisal: index.php?view=Users&action=addUser&userName=root kontroler laduje wiec model UsersMod:
i wykonuje w nim akcje zmianu danych, a poniewaz akcja addUser() posiada plik konfiguracjny z wywolaniem jako kolejnej akcji countUsers wywoluje kolejna akcje. No i pozostaje wyswietlenie widoku Users:
Co sadzicie o tym? Czy dobrze rozumuje istote MVC? Zapraszam do dyskusji... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Akcja: dobrze rozumiesz czym jest. Akcja to po prostu realiacja jakiegos zadania. Np: www.strona.pl?pokaz=galeria_fotografii. Z linku mozemy wywnioskowac, ze apliakcja php ma nam zaprezentowac galerie. To wlasnie galeria jest akcja. Tak samo moze byc akcja PokazNowosc, UsunUzytkownika. Lancuchy akcji Podczas jednego wywolania strony aplikacja php moze tak naprawde wykonac kilka kacji po kolei (czyli nastapi lancuch akcji). Jak? Oto przyklad: Uzytkownik przeglada fotki na stronie. JEdna sie sie podoba, klika na UsunZdjecie. Aplikacja php usuwa fotke z bazy lub z innego zrodla i powraca ponownie do wyswietlania fotek. Jak to jest z poziomu aplikacji? Zgloszenie: strona.pl/?akcja=UsunZdjecie&zdjecie=123. Odczytuje id zdjecia (123), usuwa zdjecie Uruchamia akcje PokazZdjecia. W efekcie uzytkownik odstaje fotki na ekranie, ale bez tej usunietej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . To samo da sie realizowac przy pomocy redirect:
Zaleta lancucha akcji jest taka, ze strony nie trzeba przeladowac, wiec oszczedza sie czas (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Efekt jest identyczny. Konfiguracja i lancuchy akcji Chyba chodzi o to, ze tworzony jest plik konfiguracyjny. znajduje sie w klatalogu configs/ i nazywa sie UsunZdjecie.php. Aplikacja otrzymuje zgloszenie aby uruchimic akcje UsunZdjecie. Zna nazwe akcji i wie, ze tak samo ma nazywac sie konfig. Wiec wczytuje konfiga. W konfigu moze byc podane: nastepna-akcja = 'PokazZdjecia'. Aplikacja wie, ze jak wykona akcje UsunZdjecie to ma wykonac PokazZdjecia. UWAGA: to rozwiazanie jest raczej kiepskie. Lepiej w akcji zrobic metode "forward($nazwaAkcji, $parametry)" i po zakonczeniu danej akcji uruchamiac ja. CZesto zdarzy sie, ze bedziemy musieli wykonac inna akcje, bo nastapil jakis blad (np nie podano parametru id do usuniecia zdjecia.). Pozdrawiam, Adrian. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 05:27 |