Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> MVC, gdzie trzymac informacje o jaki widok ma mieć dana strona
nowy_pehapowiec
post 6.05.2010, 13:08:21
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

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


Czy nazwę widoku trzymać w bazie danych, czy w gdzieś w kodzie php? Jak lepiej?

pozdro
Go to the top of the page
+Quote Post
thek
post 6.05.2010, 13:12:04
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jak dla mnie wiedzę o widoku realizuj tak, jak wiele spośród frameworków. Zrzuć to na karb kontrolera smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
nowy_pehapowiec
post 6.05.2010, 13:37:59
Post #3





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

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


Dzięki!
A powiedz mi jeszcze co poza routerem, definicją połączenia z bazą, definicjami stałych i wywołaniem kontrolera ma być w index.php ?
Go to the top of the page
+Quote Post
quality
post 6.05.2010, 13:55:15
Post #4





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

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


To zalezy od tego jaka masz aplikacje.

Najprosciej tlumaczyc to wlaczanie wylaczanie, jakis glownych komponentow, obsluga pluginow. Rozne rzeczy mozna umieszczac smile.gif Obsluga sesji itp. ogolnie glowne rzeczy ktorych bedziesz uzywal i potrzebowal w calej aplikacji, nie ma dokladnie okreslonych zasad co ma byc a co nie.


--------------------
Go to the top of the page
+Quote Post
nowy_pehapowiec
post 6.05.2010, 14:16:52
Post #5





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

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


Ok, czyli model i widok wywołuje już w kontrolerze tak?
Go to the top of the page
+Quote Post
Prph
post 6.05.2010, 14:34:35
Post #6





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


Ile frameworków, tyle pomysłów.

Generalna zasada: model to dane, widok prezentuje te dane, a kontroler tym wszystkim steruje. Kontroler może pobierać dane z modelu i przekazywać do widoku, ale równie dobrze widok sam może je pobierać i wyświetlać. Istotne jest, żeby model faktycznie w tym uczestniczył. Ani kontroler, ani widok nie operuje bezpośrednio na bazie danych (SQL).

Kontroler to dobre miejsce na nazwę widoku. Zdarza się, że kontroler wybiera różne widoki na podstawie danych (jeżeli formularz zawiera poprawne dane, wyświetl informacje o powodzeniu, w przeciwnym razie stronę z informacją o niepowodzeniu).

Widoki, bazy i inne rzeczy możesz konfigurować w index.php. Gdzieś w końcu trzeba.

Polecam przejrzeć dostępne frameworki i popatrzeć, jak zrobili to profesjonaliści.
Go to the top of the page
+Quote Post
Crozin
post 6.05.2010, 21:10:28
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
Czy nazwę widoku trzymać w bazie danych, czy w gdzieś w kodzie php? Jak lepiej?
Ogólnie zadaniem kontrolera jest określenie, że ten a ten widok, ma wyświetlić dane z tego, a tego kontrolera.

@quality: Takie rzeczy jak sesja to zadanie stricte dla modelu.

Cytat
Generalna zasada: model to dane, widok prezentuje te dane, a kontroler tym wszystkim steruje.
To co opisałeś to nie jest idea wzorca MVC.
Cytat
Polecam przejrzeć dostępne frameworki i popatrzeć, jak zrobili to profesjonaliści.
W większości przypadków... źle.
Go to the top of the page
+Quote Post
Prph
post 7.05.2010, 09:29:51
Post #8





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


Cytat(Crozin @ 6.05.2010, 20:10:28 ) *
To co opisałeś to nie jest idea wzorca MVC.
W większości przypadków... źle.


No tak, idealista winksmiley.jpg Spotkałem się z wieloma implementacjami MVC - w PHP i w Javie. Początkowo jak spojrzałem na Zend Framework, pomyślałem, że chłopaki trochę naginają. Po 2 latach programowania w ZF stwierdzam, że architektura w tym frameworku jest wręcz rewelacyjna.

Czasem nie da się idealnie przenieść teorii wzorca projektowego na prawdziwy, działający system. Przecież w tym wszystkim chodzi o to, żeby było łatwiej tworzyć oprogramowanie. Łatwiej != superpoprawnie.
Go to the top of the page
+Quote Post
Crozin
post 7.05.2010, 12:43:33
Post #9





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


W żadnym wypadku to co napisałem nie jest "idealistycznym zboczeniem". Sam korzystam z FW Symfony, który ma niby implementować ów wzorzec (czy chociaż jego główne idee), ale jak większość... tego nie robi (wersja 2 dosyć znacząco poprawiła sytuację). Nie zmienia to faktu, że bardzo dobrze mi się z niego korzysta - jednak: mogło by być lepiej. Większości popularnych FW PHP bliżej do implementacji MVP niż MVC (gdzie na dobrą sprawę dużą część V, przejmuje C).

btw: Wzorce to sprawdzone rozwiązania popularnych problemów - i dobrze wiem, że nie zawsze robi się tak jak to one określają, bo nie zawsze jest to korzystne. Ale jeżeli robimy coś innego (co może być czymś lepszym) to nie nazywajmy tego nazwą czegoś innego.
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 - 06:25