예제 #1
0
 /**
  * getTwig
  *
  * @param bool $new
  *
  * @return  \Twig_Environment
  */
 public function getEngine($new = false)
 {
     if (!$this->engine instanceof \Twig_Environment || $new) {
         $this->engine = new \Twig_Environment($this->getLoader(), $this->config->toArray());
         foreach (GlobalContainer::getExtensions() as $extension) {
             $this->engine->addExtension(clone $extension);
         }
         foreach ($this->extensions as $extension) {
             $this->engine->addExtension($extension);
         }
         foreach (GlobalContainer::getGlobals() as $name => $value) {
             $this->engine->addGlobal($name, $value);
         }
         if ($this->config->get('debug')) {
             $this->engine->addExtension($this->getDebugExtension());
         }
     }
     return $this->engine;
 }