Beispiel #1
0
 /**
  * @param $autoloader
  * @param $configDirectory
  */
 public function __construct($autoloader, $configDirectory)
 {
     AnnotationRegistry::registerLoader([$autoloader, 'loadClass']);
     $this->config = new Config($configDirectory);
     $this->doctrine = new Doctrine($this->config->get('database'));
     $this->container = $this->setupContainer();
     $this->router = new Router($this->doctrine, $this->config->get('router'));
     $this->dispatcher = new Dispatcher($this->container);
     $this->response = new Response($this->doctrine->getAnnotationReader());
 }
Beispiel #2
0
 /**
  * @param Doctrine $doctrine
  * @param Request $request
  * @return UrlMatcher
  */
 protected function createRouter(Doctrine $doctrine, Request $request = null)
 {
     if (is_null($request)) {
         $request = Request::createFromGlobals();
     }
     $context = new RequestContext();
     $context->fromRequest($request);
     $this->symfonyRouteCollection = new RouteCollection();
     $this->routes = [];
     $this->generateRoutesFromEntities($doctrine->getAnnotationReader(), $doctrine->getEntityClasses());
     $this->generateRoutesFromControllers($doctrine->getAnnotationReader());
     return new UrlMatcher($this->symfonyRouteCollection, $context);
 }