application/views/scripts
A következő lépésben a FrontControllert hozzuk létre, amely minden kérést elkap és vetérli a hozzá tartozó eseményeket. A fájlok elnevezése és helye nagyon fontos, továbbá a benne taláható osztályok nevei is fontosak. Az útvonalak alapján az application/controllers könyvtárban kell létrehozni az IndexController.php fájlt.
Ebben a fájlban fogja keresni a {Controllernév}Controller osztályon belül az keresi az {actionname}Action() nevű függvényt.
Jelen esetben tehát:
application/controllers/IndexController.php => IndexController a class bneve és indexAction() a függvény neve:
<?php require_once 'Zend/Controller/Action.php'; class IndexController extends Zend_Controller_Action { public function indexAction() { $this->view->assign('title', 'Hello, World!'); } }
A View állományok határozzák a meg amegjelenést. A View fájlok helye az application/views/scripts könyvtár. Itt egy sablonfájl található. A sablonfájlok hasonlóak a Smarty által használtakhoz, de azoknál sokkal egyszerűbbek. A Views könyvtár helye és neve ekkor:
application/views/scripts/index/index.phtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><? echo $this->escape($this->title); ?></title> </head> <body> <h1><? echo $this->escape($this->title); ?></h1> </body> </html>
A fenti IndexController fájlban határozzuk meg azoknak a változóknak a neveit, amelyeket itt az index.phtml fájlban behelyettesítünk.
A tartalmat a Zend_View osztály adja meg számunkra.
Hogyan lehet dinamikus tartalmakat megjeleníteni az oldalon, Ezt az alábbiakban mutatom meg. Módosítsuk a korábban létrehozottIndexController.php és index.phtml fájlokat:
<?php require_once 'Zend/Controller/Action.php'; class IndexController extends Zend_Controller_Action { public function indexAction() { $this->view->assign('title', 'Hello, World!'); $this->view->assign('welcome', 'Isten hozott!'); } }
Az index.phtml pedig legyen ez:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><? echo $this->escape($this->title); ?></title> </head> <body> <h1><? echo $this->escape($this->title); ?></h1> <?=$this->escape($this->wellcome);?></body> </html>
A fenti példában a $this->escape() függvény biztosítja, hogy veszélyes karakterek ne kerüljenek ki a webre. Ezt később az adatbázisok használatánál kell kerülni.
A <?= az úgynevezett asp tag, amit külön engedélyezni kell a php-ban. Ez rövidebb adatkiiratást tesz lehetővé.