예제 #1
0
 /**
  * Class constructor.
  *
  * @param \Phalcon\Mvc\ViewInterface $view
  * @param \Phalcon\DiInterface       $dependencyInjector
  */
 public function __construct($view, $dependencyInjector = null)
 {
     $this->mustache = new \Mustache_Engine();
     $loader = new MustachePartialsLoader($view, $this);
     $this->mustache->setPartialsLoader($loader);
     if ($dependencyInjector !== null) {
         $this->setDi($dependencyInjector);
     }
     $this->mustache->addHelper('uppercase', function ($value) {
         return strtoupper((string) $value);
     });
     parent::__construct($view, $dependencyInjector);
 }
예제 #2
0
 public function testSettingServices()
 {
     $logger = new Mustache_Logger_StreamLogger(tmpfile());
     $loader = new Mustache_Loader_StringLoader();
     $tokenizer = new Mustache_Tokenizer();
     $parser = new Mustache_Parser();
     $compiler = new Mustache_Compiler();
     $mustache = new Mustache_Engine();
     $cache = new Mustache_Cache_FilesystemCache(self::$tempDir);
     $this->assertNotSame($logger, $mustache->getLogger());
     $mustache->setLogger($logger);
     $this->assertSame($logger, $mustache->getLogger());
     $this->assertNotSame($loader, $mustache->getLoader());
     $mustache->setLoader($loader);
     $this->assertSame($loader, $mustache->getLoader());
     $this->assertNotSame($loader, $mustache->getPartialsLoader());
     $mustache->setPartialsLoader($loader);
     $this->assertSame($loader, $mustache->getPartialsLoader());
     $this->assertNotSame($tokenizer, $mustache->getTokenizer());
     $mustache->setTokenizer($tokenizer);
     $this->assertSame($tokenizer, $mustache->getTokenizer());
     $this->assertNotSame($parser, $mustache->getParser());
     $mustache->setParser($parser);
     $this->assertSame($parser, $mustache->getParser());
     $this->assertNotSame($compiler, $mustache->getCompiler());
     $mustache->setCompiler($compiler);
     $this->assertSame($compiler, $mustache->getCompiler());
     $this->assertNotSame($cache, $mustache->getCache());
     $mustache->setCache($cache);
     $this->assertSame($cache, $mustache->getCache());
 }
예제 #3
0
 /**
  * @return Mustache_Engine
  */
 private function get_mustache_engine()
 {
     if (is_null($this->mustache_engine)) {
         $this->get_loader()->load(FCA_FBC_Loader::LIB_MUSTACHE, 'php');
         $loader = new Mustache_Loader_FilesystemLoader(dirname(__FILE__) . '/Template');
         $this->mustache_engine = new Mustache_Engine();
         $this->mustache_engine->setLoader($loader);
         $this->mustache_engine->setPartialsLoader($loader);
     }
     return $this->mustache_engine;
 }
예제 #4
0
 public function testSettingServices()
 {
     $loader = new Mustache_Loader_StringLoader();
     $tokenizer = new Mustache_Tokenizer();
     $parser = new Mustache_Parser();
     $compiler = new Mustache_Compiler();
     $mustache = new Mustache_Engine();
     $this->assertNotSame($loader, $mustache->getLoader());
     $mustache->setLoader($loader);
     $this->assertSame($loader, $mustache->getLoader());
     $this->assertNotSame($loader, $mustache->getPartialsLoader());
     $mustache->setPartialsLoader($loader);
     $this->assertSame($loader, $mustache->getPartialsLoader());
     $this->assertNotSame($tokenizer, $mustache->getTokenizer());
     $mustache->setTokenizer($tokenizer);
     $this->assertSame($tokenizer, $mustache->getTokenizer());
     $this->assertNotSame($parser, $mustache->getParser());
     $mustache->setParser($parser);
     $this->assertSame($parser, $mustache->getParser());
     $this->assertNotSame($compiler, $mustache->getCompiler());
     $mustache->setCompiler($compiler);
     $this->assertSame($compiler, $mustache->getCompiler());
 }