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的值为:联想集团

由于参数被清除,所以第二次调用时没有数据输出。

 

posted @ 2013-03-06 16:21  TBHacker  阅读(1049)  评论(0编辑  收藏  举报