/**
  * @param string $templateIdentifier
  * @param \Closure $templateSourceClosure Closure which returns the template source if needed
  * @return ParsedTemplateInterface
  */
 protected function getOrParseAndStoreTemplate($templateIdentifier, $templateSourceClosure)
 {
     if ($this->templateCompiler->has($templateIdentifier)) {
         $parsedTemplate = $this->templateCompiler->get($templateIdentifier);
     } else {
         $parsedTemplate = $this->templateParser->parse($templateSourceClosure($this, $this->templatePaths));
         if ($parsedTemplate->isCompilable()) {
             $this->templateCompiler->store($templateIdentifier, $parsedTemplate);
         }
     }
     return $parsedTemplate;
 }
Ejemplo n.º 2
0
 /**
  * @test
  * @expectedException \NamelessCoder\Fluid\Core\Parser\Exception
  */
 public function parseThrowsExceptionWhenStringArgumentMissing()
 {
     $templateParser = new TemplateParser();
     $templateParser->parse(123);
 }