예제 #1
0
 /**
  * Render view.
  *
  * @param string $template
  * @param mixed[] $data
  * @return string
  */
 public function render($template, $data = [])
 {
     $loader = new \Twig_Loader_Filesystem($this->environment->getRootPath() . '/template');
     $twig = new \Twig_Environment($loader);
     $extensionDir = $this->environment->getSrcPath() . '/Twig/Extension';
     if (file_exists($extensionDir)) {
         $hDir = opendir($extensionDir);
         while ($file = readdir($hDir)) {
             if ($file == '.' || $file == '..') {
                 continue;
             }
             $objName = '\\Twig\\Extension\\' . pathinfo($file, PATHINFO_FILENAME);
             $twig->addExtension(new $objName($data));
         }
         closedir($hDir);
     }
     return $twig->render($template, $data);
 }