コード例 #1
0
ファイル: Router.php プロジェクト: ofeige/opf
 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());
         }
     }
 }
コード例 #2
0
ファイル: CommandResolver.php プロジェクト: ofeige/opf
 /**
  * @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);
 }
コード例 #3
0
ファイル: ViewTwig.php プロジェクト: ofeige/opf
 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);
 }