MVC a Smarty
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
// nacti pole uzivatelu – volam model
$pole_uzivatelu = poleUzivatelu();
// vytvor sablonu
$templatovaci_objekt = new T_Template();
//prirad data do sablony – model do view
Jak vypadá aplikační logika
Jak vypadá aplikační logik (C)
(C
načtení pole z DB
nový objekt
Smarty
//prirad data do sablony – model do view
$templatovaci_objekt->assign_by_ref("uzivatele", $pole_uzivatelu);
// nech to zobrazit – view pouzije model
$templatovaci_objekt->display('index.tpl');
?>
přiřazení datových
struktur
spuštění procesu
zobrazení
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-
1250"><title>Pokusna sablona</title>
</head>
<body>
<table summary="Seznam uzivatelu db">{section name=i loop=$uzivatele}
Jak vypadá template
Jak vypadá templat
{section name=i loop=$uzivatele
<tr>
<td>{$uzivatele[i].Jmeno}</td>
<td>{$uzivatele[i].Prijmeni}</td>
</tr>
{/section}
</table>
</body>
</html>
Chyba!!!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-
1250"><title>Pokusna sablona</title>
</head>
<body>
<table summary="Seznam uzivatelu db">{section name=i loop=$uzivatele}
Jak vypadá template
Jak vypadá template - správně
správn
Ochrana proti
HTML neplatnému
výstupu
{section name=i loop=$uzivatele}
<tr>
<td>{$uzivatele[i].Jmeno|escape:"html"}</td>
<td>{$uzivatele[i].Prijmeni|escape:"html"}</td>
</tr>
{/section}
</table>
</body>
</html>
Nový požadavek
Nový požadavek – text ve dvou sloupcích
text ve dvou sloupcíc
PHP kód zůstává beze změny
PHP kód zůstává beze změn
Prezentační logika se mění
Prezentační logika se měn
Modifikovaná prezentační logika
Modifikovaná prezentační logik
<table summary="Seznam uzivatelu db">
<table summary="Seznam uzivatelu db"
{section name=i loop=$uzivatele}