Routrování a rozdíl mezi latte a phtml
- Filip Procházka
- Moderator | 4668
Pozor, neplést model a modul.
Modul je skupina presenterů a komponent
AdministrationModule
presenters
LoginPresenter
DashboardPresenter
...
templates
Login.in.latte
Login.out.latte
@layout.latte
...
Model je „skupina tříd“ ve které je logika. Presentery si pak vytváří (nebo získávají už nakonfigurované z DI Containeru) jednotlivé služby (modely) a s nimi pracují
class ClankyPresenter extends BasePresenter
{
/** @var ClankyModel */
private $clanky;
/** @var DibiRow */
private $clanek;
protected function startup()
{
parent::startup();
$this->clanky = new ClankyModel(dibi::getConnection());
}
public function actionRead($id)
{
$this->clanek = $this->clanky->find($id);
}
public function renderRead()
{
$this->template->clanek = $this->clanek;
}
}
Takový ClankyModel
se pak stará o práci s daty
(vytváření, čtení, úprava, smazání, …), ale o i práci s logikou.
Kde práce s logikou, což by tě asi ještě chvilku nemělo zajímat, pokud
se teprve učíš MVC :)
- eximik
- Člen | 43
grey napsal(a):
eximik wrote:
hmm takže… Model je prostě soubor se třídama, ve kterých se pracuje s daty (db inserty, selecty, scitani, odcitani atpd.), prezenter si tyhle data natáhne u modelu a dá je do šablony(template)… Chápu to dobře?
Tak tak, víc třeba tady
hmm to je horší jak třídění odpadu… Bude hodně vadit když to budu to co je v modelech cpát do prezenterů?
- grey
- Člen | 94
eximik wrote:
grey napsal(a):
eximik wrote:
hmm takže… Model je prostě soubor se třídama, ve kterých se pracuje s daty (db inserty, selecty, scitani, odcitani atpd.), prezenter si tyhle data natáhne u modelu a dá je do šablony(template)… Chápu to dobře?
Tak tak, víc třeba tady
hmm to je horší jak třídění odpadu… Bude hodně vadit když to budu to co je v modelech cpát do prezenterů?
Tak mělo by to vadit tobě, hlavně když pak budeš chtít třeba kód rozšiřovat, tak budeš muset hledat kde co máš atd… Radši to dělej tak jak se má, třeba něco o modelech si můžeš načíst tady , a prostě si procházet příklady/ jiné tutoriály a koukat jak je to dělané tam…
- eximik
- Člen | 43
grey napsal(a):
eximik wrote:
grey napsal(a):
eximik wrote:
hmm takže… Model je prostě soubor se třídama, ve kterých se pracuje s daty (db inserty, selecty, scitani, odcitani atpd.), prezenter si tyhle data natáhne u modelu a dá je do šablony(template)… Chápu to dobře?
Tak tak, víc třeba tady
hmm to je horší jak třídění odpadu… Bude hodně vadit když to budu to co je v modelech cpát do prezenterů?
Tak mělo by to vadit tobě, hlavně když pak budeš chtít třeba kód rozšiřovat, tak budeš muset hledat kde co máš atd… Radši to dělej tak jak se má, třeba něco o modelech si můžeš načíst tady , a prostě si procházet příklady/ jiné tutoriály a koukat jak je to dělané tam…
Nj, jenže já oříznu tutoriál a nefunguje mi to… Tady na foru nechci furt spamovat a sám to nevyřešim… Už ted sem za debila .. (o:
- grey
- Člen | 94
eximik wrote:
Nj, jenže já oříznu tutoriál a nefunguje mi to… Tady na foru nechci furt spamovat a sám to nevyřešim… Už ted sem za debila .. (o:
Jako, pokud ti jde jen o to to zprasit aby ti to fungovalo, tak si to klidně zpras, ale sám časem dojdeš k tomu že to nebyla nejlepší volba ;)
- _Martin_
- Generous Backer | 679
Ale no tak, sebelítostí nic nespravíš ;) Sedni si k počítači, do prohlížeče dej adresu „google.com“ a začni hledat informace. Určitě se podívej na zdroják, kde bylo několik pěkných článků o MVC a MVP, navštiv stránky Honzy Tichého a prozkoumej i články, co ti navrhnuli kluci. V případě modelové vrstvy exituje několik různých přístupů, zaměř se na pojmy ORM, ActiveRecord.
Zajimavé je i NotORM od Jakuba vrány, které se dostalo v jisté úpravě do Nette. Jde o zvláštní a velmi jednoduchý a efektivní přístup k DB. Mě osobně není jasné, jak v něm řešit nějakou business logiku (něco víc, než zápis a čtení dat do/z DB), ale s tím ti třeba poradí někdo jiný, kdo to používá. Rozhodně informací lze najít více než dost=)
Editoval _Martin_ (8. 6. 2011 21:44)