NetHq Blog


A rossz legjobb kritikája az, ha megmutatjuk, hogyan kell jobban csinálni.

Zend Framework programozás alapok - GET paraméterek

Nightvis, 2012.06.04 23:41
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

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ájl tmó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>

Tartalom közösségi megosztása: