DefaultPolicy::getControllerFor PHP Метод

getControllerFor() публичный Метод

public getControllerFor ( Request &$request, RtNode $routes )
$request Request
$routes RtNode
    public function getControllerFor(Request &$request, RtNode $routes)
    {
        $routeResult = $routes->findRouteFor($request);
        if ($routeResult->routeExists) {
            if ($routeResult->methodIsSupported) {
                $controller = $this->getControllerFromRouteResult($request, $routeResult);
            } else {
                throw new RecessResponseException('METHOD not supported, supported METHODs are: ' . implode(',', $routeResult->acceptableMethods), ResponseCodes::HTTP_METHOD_NOT_ALLOWED, get_defined_vars());
            }
        } else {
            throw new RecessResponseException('Resource does not exist.', ResponseCodes::HTTP_NOT_FOUND, get_defined_vars());
        }
        Application::activate($request->meta->app);
        $this->controller = $controller;
        return $controller;
    }