Zend Framework学习(4)之前端控制器
常用方法
1.getInstance()
功能:用于获取前端控制器实例。
代码如下:
<?php $front = Zend_Controller_Front::getInstance();
执行上述代码,将创建一个前端控制器实例。
2.setControllerDirectory()
功能:用于通知分发器到何处查找动作控制器action controller类文件。
3.getControllerDirectory()
功能:用来获取控制器目录的当前位置
代码如下:
<?php $front = Zend_Controller_Front::getInstance(); $dire = $front->getControllerDirectory();
环境访问器方法
1.resetInstance()
功能:清除当前的所有设置
2.(set|get)DefaultControllerName()
功能:为默认的控制器指定另外一个名称,以及获取当前值
3.(set|get)DefaultActionName()
功能:为默认的动作指定另外一个名称,以及获取当前值
4.(set|get)Request()
功能:指定分发过程中使用的请求类或对象,以及获取当前的请求对象
5.(set|get)Router()
功能:指定分发过程中使用的路由器类或对象,以及获取当前对象
6.(set|get)Response()
功能:指定分发过程中使用的响应类或对象,以及获取当前对象
前端控制器参数
1.setParam($name,$value)
功能:设定值为$value的单个参数$name
2.setParams(array $params)
功能:通过关联数组一次设定多个参数
3.getParam($name)
功能:通过$name标识符获取单个参数
4.getParams()
功能:一次获取整个参数列表
5.clearParams()
功能:清空一个参数(传入单个字符串),多个参数(传入数组),全部参数(无参)
例子:
<?php require_once 'Zend/Controller/Front.php'; //加载Zend_Controller_Front类 $front = Zend_Controller_Front::getInstance(); //获取前端控制器实例 $front->setParam('name','张三'); //设定前端控制器参数 $name = $front->getParam('name'); //获取设定的参数 echo $name; echo "<p>"; $array = array( 'g_n'=>'联想', 'g_c'=>'5000', 'g_a'=>'北京', 'g_p'=>'联想集团' ); $front->setParams($array); $g = $front->getParams(); foreach($g as $k=>$v){ echo $k."的值为:".$v; echo "<p>"; } $front->clearParams(); $last = $front->getParams(); foreach($last as $k=>$v){ echo $k."的值为:".$v; echo "<p>"; }
结果为:
张三 name的值为:张三 g_n的值为:联想 g_c的值为:5000 g_a的值为:北京 g_p的值为:联想集团
由于参数被清除,所以第二次调用时没有数据输出。