Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Blog w OOP
Bent
post 6.03.2010, 17:44:54
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 24.12.2009

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
masahuku
post 6.03.2010, 19:43:48
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 4
Dołączył: 11.12.2009

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


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.

Ten post edytował masahuku 6.03.2010, 19:48:29
Go to the top of the page
+Quote Post
marcio
post 6.03.2010, 19:48:32
Post #3





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Na necie masz pelno artow a tak ogolnie w dziale PRO masz duzo info.


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
Bent
post 6.03.2010, 20:30:23
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 24.12.2009

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


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.
Go to the top of the page
+Quote Post
albrzykowski
post 12.03.2010, 13:44:17
Post #5





Grupa: Zarejestrowani
Postów: 40
Pomógł: 3
Dołączył: 5.02.2007

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


Witaj,

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

To prosty, niewielki blog napisany w PHP5.

Pozdrawiam


--------------------
Debian Etch, MySQL 5, PHP 5, Apache 2, Eclipse PDT
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:50