Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako tacno pravite MVC i MVP?

[es] :: PHP :: Kako tacno pravite MVC i MVP?
(TOP topic, by Goran Rakić)

[ Pregleda: 15408 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
109.93.13.*



+4 Profil

icon Kako tacno pravite MVC i MVP?28.12.2009. u 22:20 - pre 173 meseci
Da li neko moze da mi objasno MVC i MVP? Ali onako da shvatim sustinu, da konacno vidim big picture, sto plasticnije i primenjivije. Objasnjeno kao za debila(mene).

Citao sam wiki MVC,pretrazivao forum, googlao... Onako na papiru i kao ideja o razdvajanju slojeva aplikacije MVC mi je jasan. Onda sam nasao da se cesto mesa MVC i Front Controller.
Zahvaljujuci Custom template engine sam valjda shvatio sustinu template i view dela.
I dalje mi nije jasna cela slika MVC-a. Kako se to zaista kodira?
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Kako tacno pravite MVC i MVP?28.12.2009. u 22:52 - pre 173 meseci
Nema tu nekog posebnog pravila, sem u slučaju da projekat radiš u nekom framework-u koji ima neka svoja pravila što se MVC-a tiče, al' to je opet vezano više za strukturu direktorijuma projekta, nego za sam MVC koncept.

Ja recimo praktikujem da se vodim principom "Skinny Controller, Fat Model", što u principu znači da svu tu business logiku stavljam u modele, a u kontrolerima je samo onaj kod za šta su i zaduženi, npr. prihvatanje zahteva iz neke forme, filtriranje i validacija forme (delom u modelu), pa npr. pozivanje određenog modela kako bi se ti podaci upisali u bazu. Takođe, svaku iole kompleksniju view-related logiku stavljam u view helper-e (šta god to sad bilo), npr. dinamičko generisanje nekog select box-a, ili tako nešto.

Ako kažeš da si shvatio suštinu view dela, odnosno, ako si razumeo poentu template-inga, onda je to to, samo još treba da shvatiš benefite izmeštanja te neke kompleksnije logike u modele. Najčešće ćeš videti da se modeli povezuju sa nekom DB-related logikom, ali to ne bi trebalo da bude njihova jedina uloga, već bi svaki veći "posao" trebalo držati u modelima.

A taj Front Controller kojeg si spomenuo je samo jedan design pattern, koji se sastoji iz dva dela: handler-a - koji prihvata sve zahteve iz browser-a, i pojedinačnih kontrolera - na koje handler dispatch-uje određen zahtev, i koji predstavljaju skup logički povezanih akcija.
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.static.kdsinter.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Kako tacno pravite MVC i MVP?29.12.2009. u 07:30 - pre 173 meseci
Kao sto je Nikola rekao, kod fat model skinny kontrolera bitno je da izmestis svu logiku u model, dok kontroler samo sluzi da iz modela preuzmes podatke i prosledis view-u i obratno. Recimo, kada iz $_GET-a hvatam neku promenljivu u kontroleru prosledjujem je modelu bez ikakve provere i tek je u modelu filtriram i proveram. Ako nesto nije u redu bacim exception a kontroler je hvata i radi sta dalje vec treba.
 
Odgovor na temu

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.adsl.ticino.com.

ICQ: 46802502


+49 Profil

icon Re: Kako tacno pravite MVC i MVP?29.12.2009. u 20:32 - pre 173 meseci
Cini mi se da je tu kontroler neka vrsta redundanse.. Mislim zasto model ne bi komunicirao direkt sa View-om kad u kontroleru ne postoji neka posebno logika?

:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.telenor.co.yu.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Kako tacno pravite MVC i MVP?29.12.2009. u 21:36 - pre 173 meseci
Direktna komunikacija izmedju modela i view-a je moguca (da li je neko koristi ili ne je vec stvar stila), ali samo u pravcu podataka iz modela u view, nikako obratno - view je samo tu da prikaze podatak. Tako da je kontroler suvisan samo u tom slucaju.

Kontroler je tu da uzme podatke koje je korisnik (web servis, drugi program, nebitno) prosledio aplikaciji i da ih prosledi modelu. Kontroler ne sme da zna kakav je model u pitanju - da li je to tabela, sesija, obican niz, file, web servis... Preporucljivo da se ne radi bilo kakva promena nad podacima u kontroleru, jer se ne zna u kom formatu i obliku ih model ocekuje i veca je mogucnost da dodje do greske u slucaju promene modela.

Primer - ZF style :P - primanje podataka iz forme i prosledjivanje modelu:

Code:

<?php

// far, far away, in some controller's action...

$form = new Form_Item();
$model = new Model_Item();

if($this->_request->isPost()) { // forma je submitana
    if($form->isValid($this->_request->getPost())) { // forma je validna
        $model->saveItem($form->getValues());
    }
}


To je to. Uopste me ne interesuje kakav je model; prosledim mu niz sa podacima, pa posle nek se u modelu drlja dalje. Da li se i gde se ti podaci cuvaju, sta se radi sa njima, uopste nije bitno. Glavno da je model dobio podatke :)

Edit: pih, zaboravio da napisem ono zbog cega sam i uopste poceo da kuckam :)
Prilikom projektovanja/realizacije, bitno je da se obrati paznja na to da model ne sme da zavisi ni od kontrolera ni od view-a - ne bitno odakle mu dolaze podaci i kome ih salje, on mora da radi. Kontroler sme (i najcesce hoce) da zavisi od modela, al' ne sme od view-a - ne bitno da li view postoji ili ne, koji template engine se koristi, on mora da radi. View sme da zavisi i od kontrolera i od modela.
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
91.148.86.*



+13 Profil

icon Re: Kako tacno pravite MVC i MVP?30.12.2009. u 08:25 - pre 173 meseci
MODEL

Model ti sluzi kao most izmedju kontrolera i baze. Znaci, u modelu pravis metode za rad i "izvlacenje" podataka iz baze. Model vraca niz podataka, koji bi se preuzeli iz baze.

KONTROLER

U kontroleru "vrtis" logiku skripte. Tipa: ako je poslat neki parametar - uradi To i To, ako nije, uradi nesto drugo. Konkretno, logika skripta. Naravno, ukoliko ucitavas neke podatke iz baze, pozoves model i preuzmes iste.

VIEW

Nista drugo do obican template Poziva se iz kontrolera nakon zavrsene obrade podataka i prikazuje podatke korisniku (posetiocu). Svaka strana naravno da treba da ima svoj template - View. E sad, evo recimo kako mi radimo.

Struktura "Views" foldera:
Citat:

- Views (folder)
|
|-- index.php
|-- common (folder)
|---- header.php
|---- footer.php
|-- content (folder)
|---- login.php
|---- logout.php
|---- index.php
|---- itd ....
|-- ajax (folder)


Znaci, index.php view, se poziva u 95% slucajeva. Logika je sledeca:

U kontroleru definises view koji zelis da ucitas:

Code:

$this->view_params['base_name'] = 'login.php'; // Recimo da zelis login kontroler da prikazes

// Neka logika kontrolera ....
// Poziva metode iz modela...
// Sprema druge parametre za View...
// .....

$this->load->view('index', $this->view_params); // Ucitaj Index kontroler, koji ce da odluci sta da smesti "u sredinu stranice"


index.php:
Code:

<head>
// Ovde idu neki headeri ....
<title><?php echo $view_content['title']; ?></title>
</head>

<body>

// Ucitaj "common/header.php"
// Ucitaj zeljenu stranicu - "content/$view_content"
// Ucitaj foooter - "common/footer.php"

</body>


I na ovaj nacin, imas jedan view, koji uvek ucitava header i footer, a "po sredini" smesta neki odredjeni template, tipa - login formu ....

Suma sumare:

Sve sto radis nad bazom, programiras u modelu. Iz kontrolera samo pozivas metode iz modela i dalje ih obradjujes.

Polazna tacka (ono sto se prvo poziva pri poseti stranice) - je kontroler. U kontroleru se obradjuje sva logika (obrada podataka). Ukoliko komunicira sa bazom, poziva neku metodu iz modela. Na kraju obrade, prikazuje View (template).

Ono sto krajnji korisnik vidi (sto mu se prikazuje) - jeste View. Ovde nema sta mnogo da se kaze ... (bar ne pametno :P)



[Ovu poruku je menjao Goran Rakić dana 16.06.2010. u 00:55 GMT+1]
 
Odgovor na temu

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
93.87.157.*



+4 Profil

icon Re: Kako tacno pravite MVC i MVP?05.01.2010. u 17:06 - pre 173 meseci
Pitanje:
Kako izgleda kod za pocetnu stranicu, onu koja instancira
$nesto=new Login();
$user=new User();
i ostala cuda...

Moje pitanje je bukvalno gde ti pises taj kod, kontrolere, modele itd

Kao sto sam se pre 10 godina pitao gde se pise kod za win programe pisane u c. Kao znam c, startujem vstudio, on mi generise par fajlova i veze namam sta dalje. Tada sam u glavi samo imao proceduralni (dos) nacin rada. Sve dok nisam u jednoj knjizi procitao detaljno i win strukturi winmain i winproc. I kad jednom razumes winproc onda ti je jasno kako rade skoro svi prg pisani za windows.
Sad imam isto pitanje.

Kako izgleda kod koji bi povezivao one klase Login, User (koje si ranije naveo kao primer) u funkcionalan sajt?



Zahvalnica: @Man-Wolf

Da nije bilo tebe, ko zna koliko bi mi trebalo da ukapiram PDO. Ovako si video gde gresim i skratio mi liniju ucenja za nedelju dana! A sedam dana je puno kad radis svaki dan.

Znam, cesto ja zakomplikujem mnogo toga. Pa kako ucim, tako brisem i menjam kod Nikad nisam radio sa smartijem i sada me ovaj View bas muci.

Ja sam u septembru 2009 poceo da gledam 3 Lynda PHP kursa. (Brian je bio ocajan, ali je zato Kevin razbio kako lepo objasnjava php.) I kad sam akumulirao dovoljno znanja poceo sam da pravim sajt

U pocetku je bio striktno proceduralni, sa redirect na zeljenu sktiptu. Kako sam poceo da gledam advanced course sa klasama, tako sam dobijao nove ideje

Trebalo mi je mnogo vremena da shvatim kako se pravi jednostavni forum (php, html, mysql). Najvise me usporio prelazak sa obicnog mysql-a na PDO. 3 nedelje sam ucio i menjao sajt.

Sada me usporava nepoznavanje MVC-a. Pazi, nije MVC toliko bitan, koliko je vazna cinjenica da sam napravio pauzu od par dana ne programiranja, i trebao mi je CEO dan da uklairam sta sam ja pisao, kako sam zamislio neke stvari itd. Gledam moj kod, s jedne strane mu se divim (zar sam ja sve ovo napisao?), s druge strane veze nemam sta je to!

Zato intenzivno vezbam na onoj phpini skripti. Mala je, lako se menja, a treba mi jer, php ini je za php ko registry za windows. A ta setovalja nisam u stanju da pamtim pukim citanjem. Shvatim ja to instant, i zaboravim kroz 2 dana. Ovako mi phpini dodje ko podsetnik, vezba i zamorce za novonaucene stvari

Jos kad bih nasao mentora... Ja odradjujem njemu dosadne a meni nove i nepoznate stvari. Dovoljno je da me hrani i s vremena na vreme odgovara na moja pitanja I hvala ti jos jednom



[Ovu poruku je menjao Goran Rakić dana 16.06.2010. u 01:00 GMT+1]
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.dynamic.sbb.rs.



+13 Profil

icon Re: Kako tacno pravite MVC i MVP?06.01.2010. u 16:42 - pre 173 meseci
Heheh, svi smo tu da pomognemo kad i koliko mozemo ( i znamo ) :-) Uostalom, zato i postoji ovaj Forum ;-) Btw, nema na cemu :-D

Nisi nista drugaciji od vecine drugih :-) Uglavnom svi su krenuli proceduralno, pa su onda poceli da upoznaju klase, itd ... Sve je to proces ucenja :-)

Btw, i ja sam php krenuo da ucim u zelji da napravim svoj forum :-) Nazalost, nikad ga nisam napravio, al dobro ... Jednog dana ... :-D Vremenom ces nauciti da ostavljas dobre komentare u kodu i naravno, da isti lepo organizujes ;) Nemoj previse da se opterecujes oko toga, samo pici dalje, sve se slegne vremenom, veruj mi.

[Ovu poruku je menjao Goran Rakić dana 16.06.2010. u 00:59 GMT+1]
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.dynamic.sbb.rs.



+13 Profil

icon Re: Kako tacno pravite MVC i MVP?08.01.2010. u 13:26 - pre 173 meseci
Taj kod koji povezuje Kontrolere, Modele, View-ove, ... je ustvari Core Framework-a, ili ti, prostim recima - to je posao Framework-a ;) Na tebi je samo da pravis kontrolere i ostala cuda, a o ostalim stvarima se brine FW :-)

Nadam se da sam sad uspeo sve da ti razjasnim ? :-) I naravno, javi kako ide ;-)


[Ovu poruku je menjao Goran Rakić dana 16.06.2010. u 01:01 GMT+1]
 
Odgovor na temu

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
93.86.155.*



+4 Profil

icon Re: Kako tacno pravite MVC i MVP?08.01.2010. u 14:35 - pre 173 meseci
Aaaaaaaaaaaaaaaaaaaaaaa! Konacno mi je jasno!
To je ono sto mi je falilo! Znaci da pravi MVC ima i cetvrti deo koji ustvari pumpa sve te poruke. To je cela slika. Hvala! HVALA!
Sad cu da izmastam neku moju pumpu, pa kad to zavrsim, uzmem neki framework i vidim kako su oni to realizovali.


[Ovu poruku je menjao Goran Rakić dana 16.06.2010. u 01:01 GMT+1]
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1122
93.86.114.*

Sajt: www.gvozden.info


+68 Profil

icon Re: Kako tacno pravite MVC i MVP?08.01.2010. u 16:13 - pre 173 meseci
Mislim da ste previše stvari ovde nabacali... i vrh svega je zaključak da MVC ima 4 komponente.

Insistiranje na MVC stilu nekome ko ga ne razume baš i nije svrsishodno. U PHP-u naročito, imao sam problem da vrsnim programerima ukažem u čemu je korist ovakvog načina organizacije koda. Međutim, argument Word-press stila preovlađuje...

Dakle, mislim da je ova diskusija otišla u pogrešnom smeru i da je treba zaključati, ili da se pojavi neko ko će prostim rečima da objasni ljudima kako se radi sa MVC dizajnom.
 
Odgovor na temu

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.adsl.ticino.com.

ICQ: 46802502


+49 Profil

icon Re: Kako tacno pravite MVC i MVP?09.01.2010. u 00:54 - pre 173 meseci
Framework je 'core' - nesto sto pokrece sve, diktira pravila igre.
:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Kako tacno pravite MVC i MVP?16.06.2010. u 00:25 - pre 167 meseci
Model-View-Controller je obrazac kojim se definišu odgovornosti objekata koji će biti deo modela, kontrolera i pogleda i njihovi odnosi i komunikacija među njima.

Pregled opisa njihovih uloga dao je Mihailo u šestoj poruci ove teme, a proširio Nikola u drugoj poruci.

Pitanje modela je tu najčešće otvoreno i ne postoji neki standard, verovatno zbog neiskustva PHP programera i prirode klasičnih HTTP veb aplikacija. Model može biti sama relaciona baza podataka, neki objektni interfejs prema njoj (ActiveRecord, ORM, DAO) ili objekat domena aplikacije (Korisnik, Poruka, Projekat,...) sa punom svojom odgovornošću.

Ukoliko objekat domena nije čvrsto uvezan za bazu (ne koristi obrazac fasade, odnosno prostije nemamo SQL upite u njemu) onda se koristi pomenuti objektni interfejs, najčešće ubrizgan spolja u ovaj objekat. To bi bilo ono što kolega moderator Robert naziva debelim modelom u trećoj poruci ove teme.

Ne bih se sa njim složio da validaciju obavlja u modelu. Ja volim da moj model prima očišćene podatke prenete kao parametre. Ako postoji neka validacija ona je grupa i baca izuzetke okolo. Posao modela međutim jeste da zaštiti druge slojeve pa će model uraditi escape svih podataka kako bi sprečio SQL Injection nepravilnim korišćenjem interfejsa modela, ali neće da ispravlja format datuma već će vratiti null (nema takvog).

Kontroler je dužan da obradi sav unos korisnika i priredi podatke koje unosi u model. Isto tako kontroler sprema podatke za ispis u pogled. Ako imamo objekat korisnika on može da ima svojstva koje ne želimo da izložimo pogledu iz tog kontrolera, na primer svojstvo lozinka ili ključ sesije. Kontroler zahtev korisnika može da obrađuje radeći sa više objekata iz modela. To definiše ulogu kontrolera i zato u opštem slučaju ne možemo da nalepimo pogled na model bez kontrolera. Kontroler omogućava da model ostane razvezan od same stranice, HTTP zahteva i stanja aplikacije.

Tok u obrascu je takav da veb stranica "user.php" treba da pokrene jedan kontroler koji onda obrađuje zahtev korisnika, priča sa objektima modela, prebacuje podatke i prikazuje pogled.

Pošto je taj početni i završni deo kontrolera zajednički za svaki kontroler, popularni PHP radni okviri (framework) koriste pored MVC u kombinaciji sa Front Controller obrascem gde postoji zapravo jedan kontroler implementiran unutar okvira koji se poziva iz "index.php". Ovaj prednji kontroler prima zahtev, inicijalizuje sistem, uspostavlja vezu sa bazom i učitava odgovarajući podkontroler zavisno od tog zahteva. Ostatak priče je isti.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.eunet.rs.



+19 Profil

icon Re: Kako tacno pravite MVC i MVP?03.07.2010. u 23:44 - pre 167 meseci
Odličan tekst o MVC konceptu



[Ovu poruku je menjao Goran Rakić dana 04.07.2010. u 10:19 GMT+1]
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
82.117.198.*



+25 Profil

icon Re: Kako tacno pravite MVC i MVP?01.09.2010. u 09:09 - pre 165 meseci
A jel mogu ja nesto da pitam.... ne znam da li dobro radim.
Koristim smarty vec duze vreme i zadovoljan sam njime, jer se redizajn pa i neke druge stvari, kao na primer dosadni uslovi mogu smestati u smarty kod (kao na primer ako je ulogovan, prikazi 'ovo', a ako nije 'ono' i sl.

Ja radim ovako: u includes stavljam klase za sve zivo i mrtvo sto ima veze sa bazom, u smarty naravno templatove a fajl koji se poziva barata sa svim time.
npr. register.php ima neke includes fajlove (kao User.class.php),zatim uslove za registraciju, znaci provera GET i POST varijabli i ostalo vezano za formu, kreiranje objekta user i pozivanje metode register... zatim kada se sve odradi, priprema promenjive koje su neophodne i onda poziva smarty display.

Dosta cesto imam smarty promenjive koje su na svakoj strani potrebne, pa ne znam da li da onda pozovem jos na samom pocetku, negde u includes faljovima smarty i kreiram objekat....

Sve u svemu zanima me da li sam na pravom putu posto ste me zbunili sa izrazima MVC i MVP... :)
Dosta cesto bacim i neke operacije u MySQL procedure, sto sam poceo da izbegavam zbog mozda preteranog raslojavanja aplikacije..
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

developer10
profesor engleskog jezika, freelance web
developer

Član broj: 270189
Poruke: 27
*.dlp396.bih.net.ba.

Sajt: www.poslovni-adresar.ba


+1 Profil

icon Re: Kako tacno pravite MVC i MVP?08.10.2010. u 15:07 - pre 164 meseci
Nisam citao sve sto su prethodnici napisali ali evo da i ja kazem svoje vidjenje i shvatanje MVC pristupa.

Inace, ja koristim CodeIgniter framework pa sam tu i naucio ovo sto do sada znam o MVC-u.

M(odel) - uglavnom ces tu imati sql query-je, funkcije koje ce ti vracati odredjene rezultate koji ce se upotrijebiti negdje u aplikaciji
V(iew) - ovo ti je zapravo html layout stranice. ovdje je dopusteno (i uglavnom neophodno) koristiti IF, ELSEIF, FOREACH i sl. stvari, zbog toga sto treba da dobijes npr. rezultate iz baze podataka. Nista drugo ne bi trebao da kodiras ovdje, ako je moguce.
C(ontroller) - iako je naznacen na kraju MVC-a (slovo C), po meni je on zapravo najbitnija figura. Kako mu samo ime kaze, on kontrolise stvari. Zamisli sljedecu situaciju (barem u CodeIgniteru) - ides na adresu: www.example.com/index.php/prikazi/artikal/
Ovdje "prikazi" predstavlja naziv kontrolera (fajl prikazi.php u direktorijumu "controllers"). Ovaj fajl je zapravo klasa (PHP class) koja sadrzi funkciju "Artikal". Ta funkcija u sebi sadrzi "poziv" prema npr. modelu "artikal_model" ciji zadatak je da ti izbaci sve informacije o nekom artiklu.
Dakle:
1. posjetom odredjenog URL-a ti si pozvao odredjeni kontroler (i metod, tj. funkciju unutar tog kontrolera)
2. taj kontroler, tj. njegova funkcija, zatim poziva model da mu vrati neophodne podatke
3. kontroler dobijene podatke salje zatim do viewa (npr. to moze biti fajl "artikal_view.php) koji zatim sadrzi PHP i HTML kod koji ce prikazati krajnje rezultate na zeljeni nacin

Nadam se da ti je sada malo jasniji ovaj MVC pristup.
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: Kako tacno pravite MVC i MVP?13.11.2010. u 15:13 - pre 162 meseci
Ajde malo da i ja kao pocetnik u radu sa MVC-om da pitam.

Kako tacno povezujete kotnroler i model i view deo...
Kako da povezem da mi u view delu prikazuje stranicu koju napravim.
Kako da povezem model i kontroler da komuniciraju..

Ostalo mi je jasno ne znam kako da uspostavim tu vezu da budu celina.
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

kruksmail
programer
Beograd

Član broj: 268137
Poruke: 43
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Kako tacno pravite MVC i MVP?13.11.2010. u 16:09 - pre 162 meseci
Svaki koncept, pa i MVC je relativno lako skontati, ali uzeti na suvo i implementirati nesto je veoma tesko. Ja recimo koristim Zend framework, a krenuo sam sa knjigom

http://books.google.rs/books?i...Aw#v=onepage&q&f=false

i toplo bih je preporucio. Ono sto je meni bio problem jeste sam pocetak knjige, tj. kako postaviti radno okruzenje i kako podesiti application.ini i sve ono sto treba da bi kod radio. Ako se iko resi za ovu knjigu mogu samo da kazem da je meni trebalo oko mesec dana da napravim neki onako za pocetak solidni CMS. Za pomoc obratite se preko PM, radu cu pomoci
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.isp.telekom.rs.



+19 Profil

icon Re: Kako tacno pravite MVC i MVP?13.11.2010. u 17:08 - pre 162 meseci
Iako su ciljevi MVC koncepta precizno definisani sama izvedba nije. Video sam bar 3-4 različita načina (varijacije) kako su programeri te stvari povezali u celinu, tako da i ako pogrešiš u svojoj izvedbi nije strašno, bitno je razdvojiti logiku od prezentacije.

Najčešća izvedba je da index.php poziva FrontController koji analizira URL i odluči koji će kontroler da pozove, ovaj se zatim odlučuje kojim Modelom će da obradi podatke a zatim rezultat prikaže odgovarajućim View-om.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
...145.45-dsl.net.metronet.hr.



+19 Profil

icon Re: Kako tacno pravite MVC i MVP?27.07.2013. u 12:35 - pre 129 meseci
1.mini mvc, jako dobar, sve je odvojeno, nije puno code-a , cijeli code zauzima 13 kb, na disku 76 kb.


jedan primjer mvc-a sa front controllerom.

http://jream.com/lab/

dakle svaki zahtjev bio get ili post ide na front controlelr.
frontcontroller dinamički pokreće controller i metodu iz controllera.

ja koristim ovaj mvc za neke svoje projekte.
izbacio sam dosta toga iz projekta, tako da mi je samo ostalo u libs: Bootstrap, controller, database, model i view.
u database sam stavio svoju klasu za konekciju na bazu, select, update, insert.


također u config file-u se definira url(localhost/aplikacija -- kod mene je ovako, aplikacija je follder u www diru), a kad se poziva controller, autor koristi url pa ime_controllera/metoda/parametar.

ja sam probao bez url-a ispred i radi.

npr.

<form action="products/getAllProducts" method="post">



ako npr. treba napraviti paging, link na svaku stranicu se može staviti kao:

products/filterProducts/page

također probao sam pozvati neki controller preko jquery-a na isti način i radi.

za prikaz view-a ima dva načina, prvi način po defaultu je da uključi i header i footer, a drugi način kad se stavi false, ne uključuje header i footer.

2drugi način - ručno mvc
kako bi ručno izgledao mvc:

npr. imamo neki view i neku akciju : post ili get,

ako je post, opet možemo staviti parametre u link

npr:
<form action="products.php?metoda=filterProducts&parametar=products_name" method="post">


u controlleru product imamo klasu koja sadrži određene metode, a svaka metoda poziva određenu metodu iz modela, napravimo include modela , a u konstrukturu controllera instancira se klasa modela.

a ispod klase u controlleru dohvaćamo get , instanciramo klasu controllera i pozivamo metoda koju smo učitali sa get.
u našem slučaju filterProducts, učitamo parametar i parametar predamo metodi controllera.

kad su npr. upisivanje ili traženje podataka u pitanju , koristimo ovo iznad ili podatke iz posta, kad prikazujemo podatke koristimo npr. ovo ispod.

kad prikazujemo view, ako je prikaz, instanciramo kalsu controllera i pozove određenu metodu.

ako radimo ručno, moramo još napraviti rewrite url-a.


primjer mvc-a bez frameworka:
mvc bez frameworka


ja ću definitivno koristiti ovaj mini mvc framework jer mi je dovoljan.





 
Odgovor na temu

[es] :: PHP :: Kako tacno pravite MVC i MVP?
(TOP topic, by Goran Rakić)

[ Pregleda: 15408 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.