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); }
/** * @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; }