Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]MVC i struktura aplikacji
MadHatter
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 15.02.2007

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


Hej,

Mam takie pytanie, starm sie napisac strone stosujac wzorzec MVC, stosuje przy tm Smarty i Peara ale to nie wazne. Glowny problem dla mnie tkwi w teorii samego rozwiazania. Otoz jesli chodzi o sterowanie kacja to jest niby wszystko dosc proste ale nie wiem czy zalozenie dobrze rozumiem. Wysiwetlenie strony polega na tym ze zmianie ulega tytul, dane ktore pojawiaja sie w dziale content, tlo strony i boczne menu. Nie wiem wiec czy stosowac i pisac osobne akcje dla kolejnych odslon, czy napisac jedna mmetode klasy Controllera, pobierajaca odpowiednie parametry. Nie chce tutaj podawac kodu, ktory juz napisalem, bo jest go dosc sporo, ale powiem tylko ze obecnie lacze klasy modelu, akcji i widoku z instrukcja switch-case w indexie i wlasnie nie wiem czy teoretycznie jest to zgodne z zalozeniami MVC. Dodam ze nie zalezy mi narazie na optymalizacji skryptu a raczej na zglebieniu samej teorii.

Dzieki i pozdrawiam.

Ten post edytował MadHatter 24.06.2007, 02:03:50
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Mieszasz ze sobą warstwy modelu i kontrolera.
  1. <?php
  2. $settings['tableName']='kontakt_dane';
  3. $settings['title']='dane teleadresowe';
  4. $settings['cNum']=2;
  5. $settings['background']='address_bg.jpg';
  6. $settings['specialQuery']='SELECT * FROM '.$settings['tableName'];
  7. ?>

To są szczegóły związane z wyświetlaniem i pobieraniem danych. Pobieranie jest związane z warstwą modelu, a wyświetlanie z widokiem. Kontroler nie ma prawa wiedzieć nic o zapytaniach do bazy czy tytule strony. On ma wywołać akcję, która pobierze dane i zwróci je (za jego pośrednictwem) do widoku. Czyli:
  1. Pobierasz nazwę akcji na podstawie URL żądania
  2. Uruchamiasz akcję (np. wzorzec Command)
  3. Akcja pobiera dane i zapisuje je w jakimś kontenerze (np. tablica)
  4. Dane zostają zwrócone do kontrolera.
  5. Kontroler przekazuje dane do widoku.
  6. Widok obrabia dane, dostosowuje je do interfejsu uzytkownika i zwraca wynik przetwarzania.
Najważniejsze jest to, żeby kontroler i widok nie wiedziały jak i skąd zostaną pobrane dane. Warstwa danych natomiast nie ma pojęcia jak zostaną wyświetlone.

Ten post edytował Ludvik 24.06.2007, 11:32:47
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 22:08