名称

Yaf_Controller_Abstract::forward

(Since Yaf 1.0.0.5)

public boolean Yaf_Controller_Abstract::forward( string  $action ,
                                                 array  $params = NULL );

public boolean Yaf_Controller_Abstract::forward( string  $controller ,
                                                 string  $action ,
                                                 array  $params = NULL );

public boolean Yaf_Controller_Abstract::forward( string  $module ,
                                                 string  $controller ,
                                                 string  $action ,
                                                 array  $params = NULL );

将当前请求转给另外一个动作处理

[注意] 注意
Yaf_Controller_Abstract::forward只是登记下要forward的目的地, 并不会立即跳转. 而是会等到当前的Action执行完成以后, 才会进行新的一轮dispatch.
参数
$module

要转给动作的模块, 注意要首字母大写, 如果为空, 则转给当前模块

$controller

要转给动作的控制器, 注意要首字母大写, 如果为空, 则转给当前控制器

$action

要转给的动作, 注意要全部小写

$params

关联数组, 附加的参数, 可通过Yaf_Request_Abstract::getParam获取

返回值

成功返回Yaf_Controller_Abstract, 失败返回FALSE

例子

例 11.55. Yaf_Controller_Abstract::forward 的例子

     
     <?php
     class IndexController extends Yaf_Controller_Abstract {
        public funciton init() {
           /**
            * 如果用户没登陆, 则转给登陆动作
            */
           if($user_not_login) {
              $this->forward("login");
           }
        }
     }
     ?>