別のアクションに転送する

# Yaf_Controller_Abstract::forward

(Yaf >=1.0.0)

Yaf_Controller_Abstract::forward — 別のアクションに転送する

### 説明

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

現在の実行プロセスを別のアクションに転送します。

> 注意:

> このメソッドは、その場ですぐに次のアクションに切り替えるわけではなく、 現在の実行フローが終わってから次のアクションに転送します。

### パラメータ

`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()

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open