Yaf_Controller_Abstract::forward
別のアクションに転送する
説明
public bool Yaf_Controller_Abstract::forward(string $action
, array $paramters
= ?)
public bool Yaf_Controller_Abstract::forward(string $controller
, string $action
, array $paramters
= ?)
public bool Yaf_Controller_Abstract::forward(
string $module
,
string $controller
,
string $action
,
array $paramters
= ?
)
注意:
このメソッドは、その場ですぐに次のアクションに切り替えるわけではなく、
現在の実行フローが終わってから次のアクションに転送します。
パラメータ
-
module
-
移動先のモジュール名。NULL を渡した場合はデフォルトのモジュール名と見なします。
-
controller
-
移動先のコントローラ名。
-
action
-
移動先のアクション名。
-
paramters
-
呼び出しの引数。
戻り値
成功した場合に true
を、失敗した場合に false
を返します。
例
例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 アクションに転送します
return FALSE; // これが重要です。ここで現在の作業フローが終了し、
// Yaf に対して自動レンダリングをしないよう指示します。
}
// 別の処理
}
public function loginAction() {
echo "login, redirected from ", $this->_request->getParam("from") , " action";
}
}
?>
login, redirected from Index action
参考
- Yaf_Request_Abstrace::getParam