80 likes | 203 Views
Ing. Jan Mittner. 4IT445 – MVC. Osnova. Základy MVC Rozšíření layoutu helpery Bootstrap a přepis URL adres. Základ MVC. IndexController přibyly nové akce about – metoda aboutAction() + šablona about.phtml contact – metoda contactAction() + šablona contact.phtml. Produkty.
E N D
Ing. Jan Mittner 4IT445 – MVC
Osnova • Základy MVC • Rozšíření layoutu • helpery • Bootstrap a přepis URL adres
Základ MVC • IndexController • přibyly nové akce • about – metoda aboutAction() + šablona about.phtml • contact – metoda contactAction() + šablona contact.phtml
Produkty • Modely (v adresáři /application/models) • Product • datový objekt nesoucí informace o jednom produktu • Products • kontejner na instance jednotlivých objektů produktů • díky implementaci rozhraní Iterator je možné procházet objekt pomocí foreach cyklu • ProductController • metoda init() • spouští se vždy před spuštěním libovolné akce controlleru • obsahuje inicializaci dat s využitím modelů • akce indexAction() • zajišťuje zobrazení seznamu produktů + šablona index.phtml (adresář product) • akce previewAction() • zajišťuje zobrazení náhledu produktů + šablona preview.phtml (adresář product) • pomocí metody getRequest() v controlleru získáme referenci na objekt požadavku klienta, kde zjistíme i ID požadovaného produktu z URL
Rozšíření layoutu • menu • do hlavní šablony layoutu (layout.phtml) přibylo menu • pro generování interních URL adres je využit helper url() • includy • hlavní šablona layoutu integruje další dílčí šablony layoutu prostřednictvím metody render() • header.phtml – hlavička stránky • logo.phtml – logo stránky • footer.phtml – patička stránky
Bootstrap a přepis URL • objekt Bootstrap se spouští vždy při spuštění aplikace • obsahuje úvodní inicializaci nastavení společnou pro všechny nebo alespoň většinu akcí • je uložen v rootu adresáře /application • krom technických metod obsahuje Bootstrap i přepis URL • metoda _initRequest() obsahuje definici přepisovacích pravidel
Helpery • helpery se snaží usnadnit programátorovi dílčí opakované činnosti, zpravidla v rámci šablon • v projektu jsou použity předpřipravené helpery: • escape – bezpečnostní ošetření výpisu obsahu proměnných na výstup proti nebezpečnému kódu • url – vygenerování interní URL na základě parametrů • redirect – přesměrování na vybranou URL • vlastní helpery je také možné vytvářet • příslušné objekty v adresáři /application/views/helpers • nebo přímo v library • cleanUrl – očištění textu do URL od problematických znaků
Úkoly • vytvořte nový controller, v něm několik akcí a příslušné view skripty • přidejte přepisovací pravidla do třídy Bootstrap • přidejte položku do menu