Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blog w OOP
Forum PHP.pl > Forum > PHP > Object-oriented programming
Bent
Witam,

Po intensywnej lekturze zabieram się za praktykę. Chciałbym stworzyć prostego bloga w OOP korzystając z wzorca MVC. I zastanawiam się, jak taką aplikację zaprojektować.

Jak rozumiem muszę mieć klasę Router. Spotkałem się z dwoma odmianami - statyczną i normalną. W tym drugim wypadku wszystkie operacje wykonywane były w konstruktorze, w tym pierwszym np. w taki sposób: Roter::init(); Która jest lepsza?

Router uruchamia kontroler i odpowiednie metody. I tutaj robi się problem. Otóż nie wiem, jak powinny wyglądać kontrolery. Jak rozumiem, powinienem stworzyć jeden kontroler, od którego pozostałe będą dziedziczyć. Ale co powinno zawierać się w takim kontrolerze?

Jak rozplanować modele? Czy stworzyć jedną klasę model z różnymi metodami (wydaje się prostsze, ale pewnie ma wady - jakie?)

Słyszałem, że zwykle jest jedna klasa widok. Czy to prawda?

Czy w Internecie są dostępne warte uwagi implementacje wzorca MVC? Nie chodzi mi o banały, ale o taką w miarę porządną stronę.

Aha, jeszcze plik konfiguracyjny. Czy może to być zwykły plik (np. ze stałymi) czy musi być klasa?

Sorry, że tyle pytań, ale chcę mieć ogólne rozeznanie smile.gif
masahuku
Jest taki skrót z angielskiego... RT*M (gdzie ostatnia litera to Manual). Ale skoro już zadałeś to pytanie tzn. że albo nie wiesz gdzie szukać albo Ci się nie chce więc:

1. Kontroler zawiera w sobie "silnik" aplikacji - on przetwarza dane z modelu i przekazuje do widoku
2. Widok służy teoretycznie tylko do prezentacji (praktycznie i tak musisz weń wrzucić pehapa do przetwarzania jakiś foreachów)
3. Model to "źródło" w którym definiujesz dane i metody pobierania tych danych.

http://learn.kohanaphp.com/2008/03/26/blog...comment-page-1/ -> tu masz jak napisać bloga w kohanie

Oczywiście można samemu sobie napisać taki silnik... Ale po Twoim pytaniu myślę, że musisz się dowiedzieć co to MVC, a potem myśleć o własnej implementacji. No i nie ma czegoś takiego jak "powinien być jeden widok" - MVC to idea, a już implementacja to Twoja wyobraźnia - najczęściej spotyka się jeden widok "główny" (jako templatka strony) a inne widoki to tzw. podwidoki, które są umieszczane jako zmienna w widoku nadrzędnym.
W gotowych silnikach MVC (jw.) masz już gotowe klasy Model, Controller i View i to z nich dziedziczysz swoje kontrolery/modele/widoki. Routing dzieje się automagicznie o ile masz apacza z mod rewritem. A jak to dokładnie działa ... RT*M smile.gif.

Pozdr.
marcio
Na necie masz pelno artow a tak ogolnie w dziale PRO masz duzo info.
Bent
Wiem co to jest MVC, do czego co służy, ale problem polega właśnie na implementacji. Ale chyba po prostu prześledzę jak to wygląda we Frameworkach.
albrzykowski
Witaj,

Zapoznaj się z:
http://chyrp.net/

To prosty, niewielki blog napisany w PHP5.

Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.