コード例 #1
0
 /**
  * @param \Spryker\Shared\Kernel\Communication\BundleControllerActionInterface $bundleControllerAction
  *
  * @return \Spryker\Zed\Application\Communication\Controller\AbstractController
  */
 protected function resolveController(BundleControllerActionInterface $bundleControllerAction)
 {
     $controllerResolver = new ControllerResolver();
     $controller = $controllerResolver->resolve($bundleControllerAction);
     $controller->setApplication($this->app);
     $controller->initialize();
     return $controller;
 }
コード例 #2
0
ファイル: MvcRouter.php プロジェクト: spryker/Application
 /**
  * {@inheritdoc}
  * @throws \Symfony\Component\Routing\Exception\ResourceNotFoundException
  */
 public function match($pathinfo)
 {
     $request = $this->app['request_stack']->getCurrentRequest();
     $bundleControllerAction = new BundleControllerAction($request->attributes->get('module'), $request->attributes->get('controller'), $request->attributes->get('action'));
     $controllerResolver = new ControllerResolver();
     if (!$controllerResolver->isResolveAble($bundleControllerAction)) {
         throw new ResourceNotFoundException();
     }
     $routeNameResolver = new RouteNameResolver($request);
     $service = (new ControllerServiceBuilder())->createServiceForController($this->app, $bundleControllerAction, $controllerResolver, $routeNameResolver);
     return ['_controller' => $service, '_route' => $routeNameResolver->resolve()];
 }