| | |
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
Autor | Správa |
---|
Registrovaný: 12.11.08 Prihlásený: 25.10.23 Príspevky: 125 Témy: 30 |
zdravim,
zacal som sa trochu zaujimat o tento sposob tvorenia webov, pokukal par tutorialov a frameworkov a nie vsetko som dostatocne pochopil. respektive som schopny uz vytvorit v podstate hocijaku web aplikaciu prostrednictvom jednoho jednoduchsieho MVC frameworku, len neviem, ci by bola spravne strukturovana podla MVC logiky.
najprv som skusal Zend Framework, ten bol ale dost zlozity a pre mna asi zbytocny, kedze nechapem poriadne ani zakladom. nasiel som si teda taky uplne elementarny framework http://www.phpro.org/tutorials/Model-Vi ... r-MVC.html , co je nieco ako zjednodusena verzia Zendu a do neho si chcem spravit jednoduche CMS. zo zaciatku staci, ked bude prepojeny z MySQL DB a schopny odtial vytiahnut nejake zakladne settingy, dalej samozrejme zobrazovat jednotlive stranky, ktore budu tiez v DB a zakomponovat do toho nejakym sposobom moznost zmenit jazyk, ktory sa ulozi userovi do cookies. nasledne si preklad predstavujem tak, ze kazdy string pred vystupom prebehne nejakou funkciou, ktora ho vyhlada v patricnom csv subore a ak najde, prelozi.
stiahol som si teda ten framework a zacal som so zobrazovanim straniek. do indexovej akcie indexoveho kontroleru som napisal kod na vytiahnutie titulku a HTML kodu z databaze pre indexovu stranku, posunul tieto hodnoty templejte a ta to vykreslila. dalej je v tom kontroleri funkcia _call(), ktora zaisti zobrazovanie dalsich straniek.
dalej chcem spravit nejake menu a uz tu som si neisty. kam ten kod pre zobrazovanie menu vlozit? mam spravit novy kontroler pre menu a potom to nejakym sposobom prepojit alebo to zakomponovat do indexoveho kontrolera? to iste pre preklad, vobec neviem kam tu funkciu mam plesknut :/
mohol by mi to niekto vysvetlit? pripadne poskytnut nejaky vhodny priklad jednoducheho webu, ktory vyuziva MVC?
dakujem
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 28.12.2011 22:01 | |
|
CodeIgniter si skusal?
http://codeigniter.com/user_guide/ // pridané po 48 sekundách od posledného príspevkumas tam aj videotutorialy, popripadne na zajtra.sk je celkom poho videocast
_________________ Sorry za prelkepy |
|
Registrovaný: 12.11.08 Prihlásený: 25.10.23 Príspevky: 125 Témy: 30 | Napísal autor témy misko16: 28.12.2011 23:40 | |
|
tak problematika je tam predsa rovnaka. nejde mi o framework, ale proste o celkove pochopenie toho MVC.
ten kontroler, co ma na starosti zobrazovanie stranok, si myslim, ze mi funguje spravne - vypyta si udaje (titulok, HTML kod) z db pre konkretnu stranku a posle ich do viewu. zvysok templejty stranky ako header a footer je definovany v php subory na serveri. cize jedine, co je tam zatial dynamicke, je ten titulok a HTML kod danej stranky.
menu by som mohol spravit podobne, ze jednoducho v tom istom kontrolery si selectnem z databazy vsetky titulky a poslem ich v arrayi do view, kde ich nejakym cylkom zobrazim. neviem ale to, ako a kam zakomponovat do toho webu nejake ine funkcie, ako spominany preklad alebo hocico ine, co vlastne ani nepotrebuje databazu, aby to bolo stale v tom MVC kontexte.
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 29.12.2011 11:28 | |
|
no tazko ti poviem, kedze tvoj Framework nepoznam a netusim ako tam funguje hierarchia.
no vseobecne by to malo byt asi tak, ze kontroler a jeho metody ti vlastne kontroluju, ktora cast webu sa zobrazi. model ti komunikuje s databazou, spracuva nejake data. takez v kontrolery volas potrebne metody z modelov a dalej nejak spracujes data. a nakoniec do viewu tie data posielas, aby si ich zobrazil v prehliadaci.
takze ak chces vytvorit menu, nevytvaras dalsi kontroler, ale ho vygenerujes v nejakej casti modelu.
v CI existuju aj helpre popripadne libraries. takze ja to tam robim trochu inak, ale je to zbytocne vysvetlvoat, ekd itak nebudes mat sajnu o com hovorim.
Pozri si te videotutiraly, ktore som ti spominal. ten videocast na zajtra.sk ma viac dielov a je po slovensky, takze by si z toho mal dost pochopit.
Dalej co je "original" tutorial od tvorcov CI, ukazuju tam ako za 20 minut naprogramovat blog pomocou toho FW. a je tam aj nejaky uvod do CI. z toho by si mal princip pochopit.
_________________ Sorry za prelkepy |
|
Registrovaný: 12.11.08 Prihlásený: 25.10.23 Príspevky: 125 Témy: 30 | Napísal autor témy misko16: 02.01.2012 18:53 | |
|
no pozeral som si tak letmo tu user guide a nejake priklady a je to v podstate +- dost podobne tomu zendu. v zende som to ale pochopil tak, ze model je naviazany iba na jednu tabulku v databaze. tu ale pozeram, ze vlastne mozem pracovat s ktoroukolvek tabulkou.
cize keby som napriklad chcel spravit indexovu stranku, ktora by vypisovala 10 najnovsich noviniek a 10 najnovsich tem vo fore, tak do indexoveho modelu by som spravil jednu metodu, ktora by vracala 10 noviniek z novinkovej tabulky a druhu z fora. v kontroleri by som to array vlastne iba posunul do viewu, kde by sa to nejakym cyklom vypisalo. tak?
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 03.01.2012 18:25 | |
|
no myslim ze si to pochopil spravne
_________________ Sorry za prelkepy |
|
Registrovaný: 12.11.08 Prihlásený: 25.10.23 Príspevky: 125 Témy: 30 | Napísal autor témy misko16: 09.01.2012 15:49 | |
|
tak diky moc, celkom ma to chytilo
inak skusam si prerobit moj povodny web do tohoto frameworku a celkom mi tam nevyhovuje ta trieda Language, lebo preklady dokaze cerpat iba so suborov na serveri. kedze ale ja mam kopu prekladov dlhsich textov ulozenych v databazi, ako to riesit? zatial som to spravil tak, ze som si vytvoril novu kniznicu (do application/libraries), ktora cerpa tie preklady z DB na zaklade ID. v podstate mi vsetko funguje ako ma, len by som chcel vediet tvoj nazor, ci je to riesene spravne a ako by si to riesil ty. myslim si, ze samotny kod tej triedy mam spraveny dobre, len si nie som isty, ci je to spravne zakomponovane do toho webu - ci to nema byt riesene ako helper, alebo to zakomponovat do modelu a ci vobec je spravne, ze kniznica komunikuje s databazou. lebo pride mi, ze takto trochu straca zmysel model, kedze z modelu vyberiem iba id, to posuniem tej mojej funkcii na preklad a az ta vyberie z databaze konkretny text.
Kód: <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Translate { var $user_language; var $default_language; var $CI;
public function __construct(){ $this->CI =& get_instance(); $this->CI->load->helper('cookie'); $this->user_language = get_cookie("lang"); $this->default_language = $this->CI->config->item("default_language"); if(!$this->user_language){ $this->user_language = $this->default_language; set_cookie("lang", $this->default_language, time()+3600000); } } public function translate($item, $id){ $query = $this->CI->db->query("SELECT translate FROM preklady WHERE item='$item' AND text_id='$id' AND language='$this->user_language'"); if($query->num_rows() > 0){ $translate = $query->result(); return $translate[0]->translate; } else{ return $this->get_default_translate($item, $id); } } private function get_default_translate($item, $id){ $query = $this->CI->db->query("SELECT $item FROM stranky WHERE id='$id'"); if($query->num_rows() > 0){ $default_translate = $query->result(); return $default_translate[0]->$item; } else{ return "Sorry, no translate for this text - ".$item."_".$id; } }
}
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | |
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|