Zend Framework-Zend_View控制器脚本

14.2. 控制器脚本

控制器是你初始化和配置 Zend_View的地方。你可以分配变量给view,并让view显示输出。

14.2.1. 变量赋值

控制器需要向视图传递必要的变量,在它处理view的代码之前。通常你可以一次一个地完成变量赋值的工作。


<?php
$view 
= new Zend_View();
$view->"Hay";
$view->"Bee";
$view->"Sea";
?>

然而这样比较麻烦,那么可以将它们放进一个数组或对象中去。assign()方法允许你通过数组或对象进行赋值。下面这个例子和上例(一次一个赋值)的结果是一样的:


<?php
$view 
= new Zend_View();

// assign an array of key-value pairs, where the
// key is the variable name, and the value is
// the assigned value.
$array = array(
    
'a' => "Hay",
    
'b' => "Bee",
    
'c' => "Sea",
);
$view->assign($array);

// do the same with an object's public properties;
// note how we cast it to an array when assigning.
$obj = new StdClass;
$obj->"Hay";
$obj->"Bee";
$obj->"Sea";
$view->assign((array) $obj);
?>

另外,你也可使用这样的方法: 第一个参数是变量名,第二个是变量的值。


<?php
$view 
= new Zend_View();
$view->assign('a'"Hay");
$view->assign('b'"Bee");
$view->assign('c'"Sea");
?>

14.2.2. 调用视图脚本并打印输出

完成变量赋值后,Controller通知Zend_View通过render()调用一段特定的视图代码。注意,这个方法将会返回处理后的视图,而不是直接输出,所以你要用print或echo来打印输出。


<?php
$view 
= new Zend_View();
$view->"Hay";
$view->"Bee";
$view->"Sea";
echo 
$view->render('someView.php');
?>

14.2.3. 视图脚本的路径

默认地, Zend_View希望你的View脚本和Controller脚本在同一目录下。例如你的Controller文件在 “/path/to/app/controllers”目录下,并调用$view->render('someView.php'),则 Zend_View会查找"/path/to/app/controllers/someVire.php"文件。

显然,你的View代码很可能放在其它地方,那么需要告诉 Zend_View去哪里找,使用 setScriptPath()方法。


<?php
$view 
= new Zend_View();
$view->setScriptPath('/path/to/app/views');
?>

现在当你调用$view->render('someView.php'),它会去找"/path/to/app/views/someView.php"。

事实上,你可以通过addScriptPath()增加路径。Zend_View会到最近增加的路径目录下找View脚本。这个方法允许你覆写默认的View,这样你可以定制和使用自己的皮肤或主题。


<?php
$view 
= new Zend_View();
$view->addScriptPath('/path/to/app/views');
$view->addScriptPath('/path/to/custom/');

// now when you call $view->render('booklist.php'), Zend_View will 
// look first for "/path/to/custom/booklist.php", then for
// "/path/to/app/views/booklist.php", and finally in the current
// directory for "booklist.php".
?>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值