略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: Yaf_Controller_Abstract::forward

2024-11-15

Yaf_Controller_Abstract::forward

(Yaf >=1.0.0)

Yaf_Controller_Abstract::forwardThe forward purpose

说明

public Yaf_Controller_Abstract::forward(
    string $module,
    string $controller = ?,
    string $action = ?,
    array $paramters = ?
): void

将当前的请求转交给另外的Action.

注意:

调用Yaf_Controller_Abstract::forward()以后, 不会直接立即跳转到目的Action执行, 而是会在当前的Action执行完成后, 下一轮的DispatchLoop中, 交给目的Action.

所以, 如果你希望立即跳转到目的Action, 那么请使用return结束当前的执行流程.

参数

module

要跳转的目的Action的Module, 如果是NULL, 则默认Module会被采用.

controller

要跳转的目的Action的Controller, 如果是NULL, 则默认Controller会被采用.

action

要跳转的目的Action.

paramters

跳转参数, 可以在目的Action中通过Yaf_Request_Abstrace::getParam()来获取.

范例

示例 #1 Yaf_Controller_Abstract::forward()例子

<?php
class IndexController extends Yaf_Controller_Abstract
{
    public function 
indexAction(){   
         
$logined $_SESSION["login"];
         if (!
$logined) {
             
$this->forward("login", array("from" => "Index")); // 跳转到login Action
             
return FALSE;  // return立即结束当前的执行流程, 跳转到目的Action
                            // 而这里的FALSE是告诉Yaf不要自动渲染这个Action的视图
         
}

         
// other processes
    
}

    public function 
loginAction() {
         echo 
"login, redirected from "$this->_request->getParam("from") , " action";
    }
}
?>

以上例程的输出类似于:

   login, redirected from Index action

返回值

return FALSE on failure

参见

  • Yaf_Request_Abstrace::getParam()
add a noteadd a note

User Contributed Notes

There are no user contributed notes for this page.

官方地址:https://www.php.net/manual/en/yaf-controller-abstract.forward.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3