A Zend Framework a GWT paramétereket is átveszi az URL-ben az alábbi módon:
http://hostname/user/name/username/wiwit/gender/man
Az alábbira fordítja le:
Controller = user
Action = name
username = wiwit
gender = man
Mi a megoldást? A nameAction() függvényt egy kicsit módosítjuk. Az általános forma így néz ki:
http://hostname/controller/action/var1/value1/var2/value2/...
A UserController.php fájlt módosítjuk az application/controller könyvtárban:
<?php require_once 'Zend/Controller/Action.php'; class UserController extends Zend_Controller_Action { public function indexAction() { $this->view->assign('name', 'Wiwit'); $this->view->assign('title', 'Hello'); } public function nameAction() { $request = $this->getRequest(); $this->view->assign('name', $request->getParam('username')); $this->view->assign('gender', $request->getParam('gender')); $this->view->assign('title', 'User Name'); } }
A $request = $this->Request() elkapja a GET-tel átadott paramétereket, míg a $this->getParam('username') visszaadja
A name.phtml pedig így néz ki:
<!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><?=$this->escape($this->title);?>, <?=$this->escape($this->name);?></h1> <h2>Gender: <?=$this->escape($this->gender);?></h2> </body> </html>