Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ilu z Was używa MVC?
konrados
post
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Witam,

Ostatnio okoliczności zmusiły mnie do korzystania z CodeIgnitera z jego wersją MVC.

I nawet sobie radzę, nie o to chodzi. Tylko tak ciekaw jestem ilu z Was używa MVC (w dowolnym frameworku lub bez) a ilu pozostaje przy "staroświeckim" stylu?

Edit: ojej, i gdzie moja sonda? Tak się starałem.
Możecie w takim razie odpowiedzieć tylko: używam/nie używam w odpowiedzi?

Ten post edytował konrados 2.06.2011, 18:50:08
Go to the top of the page
+Quote Post
3 Stron V   1 2 3 >  
Start new topic
Odpowiedzi (1 - 19)
1010
post
Post #2





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

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


używam


--------------------
Go to the top of the page
+Quote Post
konrados
post
Post #3





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


O, dziękuję za pierwszą odpowiedź, na razie 100% członków forum.php.pl używa MVC smile.gif
Go to the top of the page
+Quote Post
pedro84
post
Post #4





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


A jakie jest rozróżnienie na "staroświecki" styl i "niestaroświecki"?


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
konrados
post
Post #5





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


No staroświecki to ten bez MVC, znaczy budujemy sobie jakieś pożyteczne klasy, następnie gdy chcemy zrobić jakąś stronkę 'nowa_strona.php' , includujemy te klasy i w jednym pliku robimy odczyt z bazy danych, wypisanie treści, reakcje na akcje użytkownika (ajax/wysyłanie formularza etc).
Go to the top of the page
+Quote Post
pedro84
post
Post #6





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Cytat(konrados @ 2.06.2011, 20:07:28 ) *
No staroświecki to ten bez MVC, znaczy budujemy sobie jakieś pożyteczne klasy, następnie gdy chcemy zrobić jakąś stronkę 'nowa_strona.php' , includujemy te klasy i w jednym pliku robimy odczyt z bazy danych, wypisanie treści, reakcje na akcje użytkownika (ajax/wysyłanie formularza etc).

Hm... a czy Ty wiesz czym w ogóle jest MVC? Rozumiesz subtelne różnice między OOP i programowaniem strukturalnym, bo wydaje mi się, że nie do końca. To alternatywą jest tylko MVC? smile.gif


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
konrados
post
Post #7





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Nie no wiem co to jest programowanie obiektowe.... i również tego używam bez MVC, więc wiem, że można i że to nie ma związku.

Nie chodzi mi w pytaniu o używanie bądź nie OOP, tylko właśnie o MVC.
A może są jakieś inne znane wzorce projektowe (czy tam architektoniczne) niż MVC?

Ten post edytował konrados 2.06.2011, 19:21:11
Go to the top of the page
+Quote Post
pedro84
post
Post #8





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


http://stackoverflow.com/questions/141912/...ives-to-the-mvc


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
konrados
post
Post #9





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


I używasz któregoś z nich?

No dobra, to zmieniam odpowiedzi na pytanie:)
1. Nie, nie używam żadnego wzorca architektonicznego
2. Tak, używam MVC lub coś innego

Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To w ogóle jest sens robienia wszystkiego bez MVC? (niekoniecznie musi być obiektowe)


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
konrados
post
Post #11





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


No właśnie chcę się dowiedzieć jak to statystycznie wygląda.

Jak przeglądam to forum (i inne) to dużo problematycznych skryptów (w pytaniach forumowiczów) łączy widok z manipulacją/odczytem bazy danych.

No bo tak na moją głowę, to MVC przydaje się gdy mamy do zrobienia wiele widoków dla jednego zestawu danych (zwykła strona/mobilna strona/rss, wszystko np. z controlera newsy). No ale jak ja wiem, że tak nie będzie?

Ten post edytował konrados 2.06.2011, 19:45:22
Go to the top of the page
+Quote Post
bastard13
post
Post #12





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Cytat
No bo tak na moją głowę, to MVC przydaje się gdy mamy do zrobienia wiele widoków

Właściwie to wykorzystuje się go do odseparowania części logicznych tworzonej aplikacji. Jeżeli design jest dobry, to programista nie musi się przejmować jak wygląda widok, a jedynie musi tam dostarczyć odpowiednie dane. Dzięki temu, jeżeli kiedyś znudzi nam się wygląd, to jedyne czego dotykamy, to właśnie pliki widoku, a reszta nas nie interesuje. Kontroler zapewnia ci 'połączenie' pomiędzy widokiem, a modelami, natomiast większość logiki powinna być wykonywana w modelach.
Więc tak naprawdę używa się tego dla wygody i przejrzystości kodu.
Ja osobiście od jakiegoś czasu pisze w Zendzie oraz Kohanie, gdzie jest zaimplementowane MVC, więc siłą rzeczy jestem na niego skazany:)


--------------------
Go to the top of the page
+Quote Post
konrados
post
Post #13





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


No to jak na razie wciąż 100% smile.gif

Cytat
Dzięki temu, jeżeli kiedyś znudzi nam się wygląd, to jedyne czego dotykamy, to właśnie pliki widoku, a reszta nas nie interesuje


No ja to do tej pory robiłem tak, że w każdej stronie umieszczałem require_once('inc/layout.php') w której miałem funkcje echo Layout::pageStart(tytuł, słowa klucz... etc), potem treść, a potem echo Layout::pageEnd(); i jeszcze parę funkcji zw. z layoutem. Poza tym klasy pracujące na poszczególnych tabelach (coś w rodzaju modelu, klasy te też includowałem w tym pliku) i też byłem zadowolony, mogłem łatwo zmieniać wygląd header'a, left/right menu, footera i innych stałych elementów. A to co pomiędzy pageStart i pageEnd to i tak było różne ze strony na stronę. Więc nadal nie kumam tej mani MVC:)

Ten post edytował konrados 2.06.2011, 20:35:11
Go to the top of the page
+Quote Post
ixpack
post
Post #14





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


Ja staram się od niedawna pisać wszystko zgodnie z MVC... Polecam
Ten artykuł
aby zrozumieć co to w ogóle jest to MVC...


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
bastard13
post
Post #15





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Cytat
No ja to do tej pory robiłem tak, że w każdej stronie umieszczałem require_once('inc/layout.php') w której miałem funkcje echo Layout::pageStart(tytuł, słowa klucz... etc), potem treść, a potem echo Layout::pageEnd(); i jeszcze parę funkcji zw. z layoutem

I tu już masz jakieś oddzielanie, ponieważ zakładam, że ten twój layout generuje przede wszystkim html'a z danymi przekazywanymi w metodach. Raczej nie ma w nim żadnej logiki tzn. nie ma tam np. metody do pobierania danych z bazy.
Cytat
A to co pomiędzy pageStart i pageEnd to i tak było różne ze strony na stronę

No i tak jest zazwyczaj:)
Chodzi jedynie o przejrzystość kodu i jego logikę.
Załóżmy, że masz wyświetlić na stronie tabele z danymi z bazy, parę buttonów określających sortowanie tej tabeli, paginację i filtrowanie tych danych.
Więc w widoku miałbyś:
  1. <?php foreach($data as $row) {
  2. ?>
  3. <tr><?php foreach($row as $col) {
  4. ?><?php echo $col; ?><?php
  5. } ?></tr>
  6. <?php
  7. } ?>
  8. <!-- tutaj jeszcze buttony z paginacją itd. -->

W kontrolerze;
  1. <?php
  2. $model = new DataModel();
  3. // tutaj ustawienia przesłanej paginacji, sortowania i filtrów
  4. $this->view->data = $model->getData();

A w modelu całą logikę pobierania danych.

I teraz widok możesz używać wielokrotnie i nie interesuje cię jakie dane i skąd je pobiera.
Kontroler odbiera tylko to, co dostał od użytkownika (sortowanie itp.) i ustawia to dla danego modelu.
Cała logika pobierania danych jest natomiast w modelu (np. pobiera dane z bazy).


--------------------
Go to the top of the page
+Quote Post
konrados
post
Post #16





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


No dobrze bastard13 smile.gif Już jestem przekonany, właśnie ściągnąłem Kohanę i z nią walczę smile.gif



Cytat
Ja staram się od niedawna pisać wszystko zgodnie z MVC... Polecam
Ten artykuł
aby zrozumieć co to w ogóle jest to MVC..

No ja też już mam teraz taki zamiar, ale powiem, że ten artykuł mi nieco zamieszał w głowie - widok odwołujący się do modelu? A już myślałem, że zaczynam kumać MVC...
Ale poza tym blog bardzo ciekawy.

Dzięki Wam za wszystkie odpowiedzi.

Szkoda, że tak mało głosów, bo miałem nadzieję jeszcze na "sondę" pt. jaki framework, ale pewnie znowu wyjdzie "100%" czyli jeden głos będzie:)

Ten post edytował konrados 2.06.2011, 21:50:47
Go to the top of the page
+Quote Post
bastard13
post
Post #17





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Cytat
widok odwołujący się do modelu

Np. jakiś MenuModel, który w zależności od roli zalogowanego usera zwraca inne menu. Idealnie pasuje, aby wywołać go bezpośrednio w widoku:)


--------------------
Go to the top of the page
+Quote Post
konrados
post
Post #18





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


No ja to najchętniej w ogóle bym się pozbył albo kontrolera albo modelu smile.gif Nazwałbym to wzorcem VS (View & Something). Tak więc podoba mi to smile.gif
Go to the top of the page
+Quote Post
konole
post
Post #19





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 21.03.2006
Skąd: Warszawa

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


W tej chwili Symfony2 tylko i wyłącznie do własnych projektów. W pracy jestem przymuszany do CakePHP. :<
Go to the top of the page
+Quote Post
1010
post
Post #20





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

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


Tylko nie twórzmy kolejnego tematu o wyborze frameworka:

Wybór Frameworka.


--------------------
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
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 Aktualny czas: 19.08.2025 - 16:00