Ergo\Routing\Router::execute PHP Method

execute() public method

* (non-phpdoc)
See also: Controller::execute()
public execute ( $request )
    public function execute($request)
    {
        $match = $this->lookup($request->getUrl()->getPath());
        $controller = $this->controller($match->getName());
        return $controller->execute(new RoutedRequest($request, $match, $this));
    }

Usage Example

Example #1
0
 public function testConnectingAnAliasRoute()
 {
     $controller = new Routing\CallbackController(function ($request, $builder) {
         return $builder->setBody($request->getRouteMatch()->getName())->build();
     });
     $router = new Router();
     $router->connect('/user/{userid}', 'User.view', $controller);
     $router->alias('/user/alias/{userid}', 'Alias.view', 'User.view');
     $response = $router->execute(new Http\Request('GET', '/user/alias/24'));
     $this->assertResponse($response, 'Alias.view');
 }