PHP 8.6.0 Beta 2 available for testing

Yaf_Controller_Abstract::forward

(Yaf >=1.0.0)

Yaf_Controller_Abstract::forwardForward the current request to another action

Description

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

Forward the current request to another action. The target is determined from the number and types of the arguments:

  • action only: forward to another action of the current controller.
  • controller and action: forward to another controller.
  • module, controller and action: forward to another module.
  • The optional parameters array carries invocation arguments retrievable with Yaf_Request_Abstract::getParam().

Note:

This method does not switch to the destination action immediately; the switch takes place after the current flow finishes. To hand over control right away, return from the current action method (returning false also tells Yaf not to auto-render the current view).

Parameters

module

The destination module name. If the current module is given, it is used as is.

controller

The destination controller name.

action

The destination action name.

parameters

Invocation arguments for the destination action, retrievable with Yaf_Request_Abstract::getParam().

Return Values

Returns true on success, or false / null on failure.

Examples

Example #1 Yaf_Controller_Abstract::forward() example

<?php
class IndexController extends Yaf_Controller_Abstract
{
    public function indexAction() {
        $logined = $_SESSION["login"];
        if (!$logined) {
            $this->forward("login", array("from" => "Index")); // forward to the login action
            return false; // this is important, it ends the current flow
                          // and tells Yaf not to auto-render
        }

        // other processes
    }

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

The above example will output something similar to:

login, redirected from Index action

See Also

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top