Cześć. Wiecie mam pewien problem. Dowiedziałem się nie dawno MVC (czyli Model-View-Controller). Nie wiem za bardzo jak to działa. czy mógłby mi pomóc i pokazać prosty przykład czegoś takiego?
Z góry dzięki
Cześć. Wiecie mam pewien problem. Dowiedziałem się nie dawno MVC (czyli Model-View-Controller). Nie wiem za bardzo jak to działa. czy mógłby mi pomóc i pokazać prosty przykład czegoś takiego?
Z góry dzięki
no ale w sieci jest tego masa po wpisaniu MVC
ale nie za bardzo po polsku
Wyglada tak:
W pseudokodzie cos takiego:
// widok
@(cats: List[ViewModels.Cat])
<html>
<body>
@for(c <- cats) {
<h1>c.name</h1>
<img src=@{c.imagedest}/>
}
</body>
</html>
// kontroler
class CatController {
def cats = View("kotki.html", catService.findAllCats());
}
// model
class CatService {
def findAllCats =
// odwolanie do bazy badz jakas inna logika...
}
MichałK123 napisał(a):
Cześć. Wiecie mam pewien problem. Dowiedziałem się nie dawno MVC (czyli Model-View-Controller). Nie wiem za bardzo jak to działa. czy mógłby mi pomóc i pokazać prosty przykład czegoś takiego?
Z góry dzięki
Przeczytaj sobie to:
http://lukasz-socha.pl/php/mvc-w-praktyce-–-tworzymy-system-artykulow-cz-1/
MVC to oddzielenie modelu (np tabela w bazie danych) , kontrolera - (steruje wywołaniami HTTP - dla każdego wywołania HTTP serwer uruchamia odpowiedni kontroler i akcję (poczytaj sobie co to jest CRUD) i widoku (dla konkretnego kontrolera i akcji mamy odpowiedni widok - czyli to co zostanie wysłane do przeglądarki a ona to wyświetli)
Tak w wielkim skrócie napiszę to na przykładzie Ruby on Rails
mamy kontroler o nazwie UsersController i tabele o nazwie User.
w kontrolerze jedna z akcji to index (będzie wyświetlać listę wszystkich userów
w tej akcji mamy:
UsersController < ApplicationController
def index
@users = User.all (pobiera nam wszystkich userów z tabeli User i przekazujemy do zmiennej @user)
end
end
następnie w odpowiednim widoku dla tej konkretnej akcji i kontrolera
odbierzemy ten obiekt @user i wyświetlimy jakąś jego zmienną w postaci HTML np.
<%= <ul> %>
<% @users.each do |user| %>
<%= <li>user.name</li> %>
<% end %>
<%= </ul> %>
wyświetli nam listę z imionami wszystkich userów.
anonymous_dev napisał(a):
MVC to oddzielenie modelu (np tabela w bazie danych) , kontrolera - (steruje wywołaniami HTTP - dla każdego wywołania HTTP serwer uruchamia odpowiedni kontroler i akcję (poczytaj sobie co to jest CRUD) i widoku (dla konkretnego kontrolera i akcji mamy odpowiedni widok - czyli to co zostanie wysłane do przeglądarki a ona to wyświetli)
Chyba najgorsza definicja MVC z jaką się spotkałem. MVC to wzorzec projektowy warstwy prezentacji, jest abstrakcją daleką od specyficznych dla projektu, technologii oraz implementacji kwestii takich jak: HTTP, CRUD, tabele i serwerów. Można napisać kalkulator konsolowy w MVC i nadal będzie on MVC.
Tak w wielkim skrócie napiszę to na przykładzie Ruby on Rails
To chyba wszystko wyjaśnia.
Masz rację moja odpowiedź dotyczy tylko web w dodatku RoR to nie jest czysty MVC. Ale w podobny sposòb wytłumaczyłem łopatologicznie paru osobom i
załapały o co chodzi. Dokładne definicje zawsze można znaleźć w necie.
Definicja z Wiki jest chyba wystarczająca :-)
http://pl.wikipedia.org/wiki/Model-View-Controller
Ale to jest jeszcze lepsze:
http://blog.karolak.it/2010/11/17/wzorzec-projektowy-zastosowany-w-cakephp-mvc-czy-mvp/
Jak widać MVC ma i swoje pochodne, jak MVP, HMVC (w Kohana), więc tu może być mały mętlik w głowie.
http://en.wikipedia.org/wiki/Model–view–controller
http://en.wikipedia.org/wiki/Model–view–presenter
http://en.wikipedia.org/wiki/Model_View_ViewModel
http://www.goldenline.pl/grupy/Komputery_Internet/php/kwestia-widokow-a-poprawnosc-modelu-mvc,1931032/
http://www.sitepoint.com/the-mvc-pattern-and-php-1/