public function execute(RequestInterface $request, ResponseInterface $response) { if (($route = $this->match($request->getUri())) !== null) { $request->setParameter('controller', $route->getController()); $request->setParameter('action', $route->getAction()); $var = $route->getVar(); if (is_array($var)) { $request->setParameterFromArray($route->getVar()); } } }
/** * @param RequestInterface $request * @param ResponseInterface $response * @return mixed * @throws ClassNotFoundException */ public function getCommand(RequestInterface $request, ResponseInterface $response) { $cmdName = $this->defaultCommand; if ($request->issetParameter('controller') === true) { $cmdName = $request->getParameter('controller'); } $className = 'Opf\\Mvc\\' . $this->loadCommand($cmdName); if (class_exists($className) == false) { throw new ClassNotFoundException('Class "' . $className . '" not found', 404); } return new $className($request, $response); }
public function render(RequestInterface $request, ResponseInterface $response) { $timing = microtime(true); $this->assign('action', $request->getParameter('action')); $this->assign('controller', $request->getParameter('controller')); $loader = new Twig_Loader_Filesystem(Bootstrap::getPathView()); $twig = new Twig_Environment($loader, array('debug' => true, 'cache' => Bootstrap::getPathCache(), 'auto_reload' => true, 'optimizations' => -1)); $twig->addExtension(new \Twig_Extension_Debug()); $data = $twig->render("{$this->template}.twig", $this->vars); $response->addHeader('X-OPF-TWIG-TIMING', microtime(true) - $timing); $response->write($data); }