Předmět Autor Datum
Jde o webové stránky? Každá HTML stránka například obsahuje tag <html>. Nevím, jak bys to do té strá…
IQ37 10.11.2014 17:42
IQ37
Pozri si hocijaký MVC (model-view-controller) framework v PHP, napr. Zend Framework. Typicky to fun…
los 10.11.2014 17:45
los
A model má dělat co přesně? třeba naplí pole pro menu, submenu, navigaci a view to pole jen vypíše?
Markusik 10.11.2014 17:57
Markusik
Model je pouze jiný název pro doménovou vrstvu. Doménová logika zpracuje změněná data (např. přepočí… poslední
Wikan 10.11.2014 18:32
Wikan
Ono se da v php programovat i normalni programy, nejem webove stranky, a pak je spoustet z jinych pr…
gilhad 10.11.2014 18:29
gilhad

Pozri si hocijaký MVC (model-view-controller) framework v PHP, napr. Zend Framework.

Typicky to funguje tak, že všetky požiadavky idú na front controller, ktorý podľa URL zvolí akciu controllera (to sa volá routing). Samotný controller je PHP trieda a akciou je jeho metóda. Controller spraví čo treba (načíta údaje z databázy, spracuje POST, etc.) a na koniec vráti nejaký view, do ktorého pošle dáta v parametroch. Viewom je HTML šablóna.

Takže logiku máš v modeli a controlleroch a výzor (HTML) máš oddelený vo viewoch.

Implementačne to vyzerá tak, že máš index.php (to je ten front controller), ktorý rozparsuje URL adresu. Podľa routovacích pravidiel určí, ktorá časť je controller, aká je akcia a čo sú parametre. Pomocou autoloadu inštancuje controller a zavolá jeho akciu. Podľa návratovej hodnoty akcie controllera vyrenderuje výsledok.

Model je pouze jiný název pro doménovou vrstvu. Doménová logika zpracuje změněná data (např. přepočítá celkovou cenu, daně a expediční poplatky pro položky v košíku). Některé aplikace užívají mechanizmus pro perzistentní uložení dat (např. databázi). To je však otázka vztahu mezi doménovou a datovou vrstvou, která není architekturou MVC pokryta.

http://cs.wikipedia.org/wiki/Model-view-controller

Ono se da v php programovat i normalni programy, nejem webove stranky, a pak je spoustet z jinych programy, prikazove radky, skriptu ...

Jinak se sablonama se bezne pracuje tak, ze nejaky program na zaklade nejakych pozadavku da dohromady nejaka data (at uz text clanku a diskuze pod nim, nebo soucty vybranych polozek za treti kvartal nebo cokoli jineho) a jako jeden velky balik (treba jako pole promennych (vystup["jmeno"]="Pepa Novak"; ...), objektovou strukturu, ci jiny pozadovany tvar) je poskytne nejakemu enginu. Ten engin nekde vylovi sablonu (treba podle jmena pozadovane stranky) a zacne ji prochazet. Co je text to proste vypise, co je promenna ( {{vystup.jmeno}} ) nahradi jeji hodnotou ( Pepa Novak ), kdyz narazi na nejakou smycku ci jiny ridici prikaz, tak ho provede

{% for p in prodeje %} <tr><td> {{p.datum}} </td><td> {{p.nazev}} </td><td> {{p.pocet}}</td><td> {{p.cena}} </td></tr> {% endfor %}

vypise 4.sloucovou tabulku prodeju

Zpět do poradny Odpovědět na původní otázku Nahoru