Пример #1
0
 public function test_methodChaining()
 {
     $templateFile = __DIR__ . '/files/templates/main.tmpl';
     $x = new Template($templateFile);
     $y = new Template($templateFile);
     $varList = array('file1' => "first", 'file2' => "second");
     $varList2 = array('ar1' => "var one", 'ar2' => "the second");
     $y->addVarList($varList);
     $y->addVar('var1', 'test');
     $y->addVarListWithPrefix($varList2, 'v');
     $y->addVar('var1', "use this");
     $normalRender = $y->render();
     $this->assertNotEquals(file_get_contents($templateFile), $normalRender);
     $chainRender = $x->addVarList($varList)->addVar('var1', 'test')->addVarListWithPrefix($varList2, 'v')->addVar('var1', "use this")->render();
     $this->assertNotEquals(file_get_contents($templateFile), $chainRender);
     $this->assertEquals($normalRender, $chainRender);
 }
Пример #2
0
 /**
  * @param Template $template    Template object to add
  * @param bool $render          If the template should be rendered (default=true)
  * @throws \Exception           Problems with nesting of block rows
  */
 public function add(Template $template, $render = true)
 {
     if (strlen($template->name)) {
         foreach ($template->templates as $name => $content) {
             $this->_templates[$name] = $content;
         }
         if ($render === true) {
             $this->_templates[$template->name] = $template->render();
         } else {
             $this->_templates[$template->name] = $template->contents;
         }
     } else {
         throw new \InvalidArgumentException("template is missing a name");
     }
     return $this;
 }