Mvc

Znam engleski ali jednostavno nekuzim :slight_smile:

Model
View
Controller

Model predstavlja “modeliranje” npr user ima ime, prezime, id
View je "template"
Controller predstavlja funkcije tog usera, npr editIme, editPrezime?

Jesam li u pravu? Uvijek sam imo poteškoće kod tog MVC-a nikak nemogu složit kod, pa ima li neko primjer za MVC ovog odozgora (editimena, prezimena, blabla) :S

Tutorijali sa neta mi bas nisu pomogli :\

Kartko i jasno: Nisi u pravu. Bar ne 100%.

Model: Veza između aplikacije i baze podataka

  • tu dolazi ono addUser, editUser, getUser, deleteUser, getAllUsers itd, itd.

View: To si dobro rekao. To je template.

Controller: Veza između model i view.

  • tu učitaš klasu User i povučeš potrebne podatke, nakon toga te podatke predaš view
    datoteci kako bi ih prikazao korisniku ili

  • prikažeš korisniku formu za registraciju i u controlleru pokupiš podatke i predaš je model
    methodi addUser u klasi User kako bi te podatke ubacio u bazu. Ista stvar i za delete i za
    update.

Controller ti je također ulazna datoteka(obično index.php) gdje na temelju dobivenih parametara odlučuješ što će se i gdje slijedeće dogoditi.

Nadam se da sam pomogao i da si nešto shvatio iz ovog što sam napisao.

[quote=“CreatifCode”]
Model: Veza između aplikacije i baze podataka.[/quote]
Ne mora biti.
Model je apstrakcija podataka, a podaci ne moraju nuzno biti u bazi.

[quote=“CreatifCode”]
View: To si dobro rekao. To je template.[/quote]
S tim nista nije rekao.
View je predlozak … ali sta to znaci. Tako receno ne govori nista, a dosta je nejasno. Stovise, view se ne mora ostvariti predloskom.
Ukratko, view je dio aplikacije zaduzen za prikaz podataka. Tim se zele odvojiti podaci i njihova logika, od logike prikaza podataka. Tako da jedno ne utjece na drugo - promjenom prikaza nekog podatka se ne mora dirati logika njihovog npr. dohvacanja, i obrnuto.

[quote=“ivan.skugor”]Ne mora biti.
Model je apstrakcija podataka, a podaci ne moraju nuzno biti u bazi.
[/quote]
Htjedoh i to dodati, ali činilo mi se kako je nepotrebno zadavti dečku još više muke kad mu i ovaj dio nije totalno jasan.

[quote=“ivan.skugor”]
S tim nista nije rekao.
View je predlozak … ali sta to znaci. Tako receno ne govori nista, a dosta je nejasno. Stovise, view se ne mora ostvariti predloskom.
Ukratko, view je dio aplikacije zaduzen za prikaz podataka. Tim se zele odvojiti podaci i njihova logika, od logike prikaza podataka. Tako da jedno ne utjece na drugo - promjenom prikaza nekog podatka se ne mora dirati logika njihovog npr. dohvacanja, i obrnuto.[/quote]

I što si ti tu sad napisao. Pa view je dio aplikacije koji se upotrebljuje za prezentaciju podatak krajnjem korisniku, a prema unaprijed zadanom predlošku, dakle template-u.

Ovo boldano je jako bitno.

Valja jos napomenuti da se tu radi o Front Controller patternu, obrascu razvoja, koji stavlja “kontroler” komponentu, objekt, na prvo mjesto u zivotnom ciklusu izvrsavanja requesta (tocnije, routing komponenta je prije, ali to je vec druga prica). On kontrolira koje ce podatke (Model) proslijediti predlosku (View). Podaci su bilo sta, bilo koji objekt ili varijabla. View mora biti “glup”, i njegova zadaca je samo primiti Model i prikazati ga u nekom obliku, najcesce HTML. Nesmije sadrzavati poslovnu ili drugu logiku, samo prezentacijsku.
Tako da je to prezentacijski pattern. Poslovna logika i nacin pristupa bazi, odnosno dohvata Modela ne ovisi o MVCu, i ti dijelovi aplikacije su rjeseni sa drugim patternima (npr kod pristupa bazi se cesto vidi Repository ili ActiveRecord patterni…)
Inace, MVC je smisljen za SmallTalk, prije 30-tak i kusur godina. Danas popularan jer super pase u stateless web okruzenju.

[quote=“CreatifCode”]Kartko i jasno: Nisi u pravu. Bar ne 100%.

Model: Veza između aplikacije i baze podataka

  • tu dolazi ono addUser, editUser, getUser, deleteUser, getAllUsers itd, itd.

View: To si dobro rekao. To je template.

Controller: Veza između model i view.

  • tu učitaš klasu User i povučeš potrebne podatke, nakon toga te podatke predaš view
    datoteci kako bi ih prikazao korisniku ili

  • prikažeš korisniku formu za registraciju i u controlleru pokupiš podatke i predaš je model
    methodi addUser u klasi User kako bi te podatke ubacio u bazu. Ista stvar i za delete i za
    update.

Controller ti je također ulazna datoteka(obično index.php) gdje na temelju dobivenih parametara odlučuješ što će se i gdje slijedeće dogoditi.

Nadam se da sam pomogao i da si nešto shvatio iz ovog što sam napisao.[/quote]

aha, sad mi je sve čistije i jasnije :wink:

hvala :wink:


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja