Router::setRequestInfo PHP Method

setRequestInfo() public static method

Nested requests will create a stack of requests. You can remove requests using Router::popRequest(). This is done automatically when using Object::requestAction(). Will accept either a CakeRequest object or an array of arrays. Support for accepting arrays may be removed in the future.
public static setRequestInfo ( CakeRequest | array $request ) : void
$request CakeRequest | array Parameters and path information or a CakeRequest object.
return void
    public static function setRequestInfo($request)
    {
        if ($request instanceof CakeRequest) {
            static::$_requests[] = $request;
        } else {
            $requestObj = new CakeRequest();
            $request += array(array(), array());
            $request[0] += array('controller' => false, 'action' => false, 'plugin' => null);
            $requestObj->addParams($request[0])->addPaths($request[1]);
            static::$_requests[] = $requestObj;
        }
    }

Usage Example

Example #1
0
 public function loadRouter($base = null)
 {
     if ($base === null) {
         $base = Configure::read('App.base');
     }
     if (!class_exists('Router')) {
         App::import('Core', 'Router');
     }
     Router::setRequestInfo(array(array(), array('base' => $base, 'webroot' => $base)));
     if (!defined('FULL_BASE_URL')) {
         $s = null;
         if (env('HTTPS')) {
             $s = 's';
         }
         $httpHost = env('HTTP_HOST');
         if (empty($httpHost)) {
             $httpHost = env('SERVER_NAME');
             if (empty($httpHost)) {
                 if (class_exists('Environment')) {
                     $httpHost = Environment::getHostName();
                 }
             }
         }
         if (!empty($httpHost)) {
             define('FULL_BASE_URL', 'http' . $s . '://' . $httpHost);
         }
     }
 }
All Usage Examples Of Router::setRequestInfo