通常,我们在controllers中赋值变量,在views中显示。那么,千万值得注意的一点儿是,千万不要把变量生命为这种形式 $this->view->$usernamegood
正确的格式应该是: $this->view->usernamegood,任何变量钱只应有一个$。
另外,可以这样使用函数:(节选自 IndexController.php中的一部分
<?php
require_once 'Zend/Controller/Action.php';
class User_IndexController extends Zend_Controller_Action
{
/**
* The default action - show the home page
*/
public function init()
{
$this->view->baseUrl="http://".$_SERVER["SERVER_NAME"].$this->_request->getBaseUrl();
Zend_Loader::loadClass('user');
}
public function registerAction()
{
$this->view->action='adduser';
}
public function adduserAction()
{
$username=$_POST[username];
$password=$_POST[passwd];
$confirmpassword=$_POST[passwd2];
$sex=$_POST=$_POST[sex];
$email=$_POST[email];
$organization=$_POST[organization];
function check_username($username)
{ $max_strlen_username=16;
$usernamechars="^[A-Za-z0-9_-]";
$usernamegood='用户名检测正确';
if($username=="")
{
$usernamegood='用户名不能为空';
return $usernamegood;
}
if(!ereg("$usernamechars",$username))
{
$usernamegood='用户名字符串检测不正确';
$usernamegood;
}
if(strlen($usename)>$max_strlen_username)
{
$usernamegood='用户名长度检测不正确';
$usernamegood;
}
return $usernamegood;
}
$this->view->usernamegood=check_username($username);
}
public function **Action()
即:在public function **Action()中还可以嵌套使用函数,但在函数体中,不应该出现 $this->view->name类似的变量。所以,在我们的例子中,function check_username()中使用的变量$usernamegood;