2 /** @package verysimple::Phreeze */
5 * import supporting libraries
7 require_once("smarty/Smarty.class.php");
8 require_once("verysimple/Phreeze/IRenderEngine.php");
11 * SmartyRenderEngine is an implementation of IRenderEngine that uses
12 * the Smarty template engine to render views
14 * @package verysimple::Phreeze
15 * @author VerySimple Inc.
16 * @copyright 1997-2011 VerySimple, Inc.
17 * @license http://www.gnu.org/licenses/lgpl.html LGPL
20 class SmartyRenderEngine
implements IRenderEngine
28 * @param string $templatePath
29 * @param string $compilePath
31 function __construct($templatePath = '', $compilePath = '')
33 $this->smarty
= new Smarty();
36 $this->smarty
->template_dir
= $templatePath;
40 $this->smarty
->compile_dir
= $compilePath;
41 $this->smarty
->config_dir
= $compilePath;
42 $this->smarty
->cache_dir
= $compilePath;
48 * @see IRenderEngine::assign()
50 function assign($key, $value)
52 return $this->smarty
->assign($key, $value);
57 * @see IRenderEngine::display()
59 function display($template)
61 return $this->smarty
->display($template);
66 * @see IRenderEngine::fetch()
68 function fetch($template)
70 return $this->smarty
->fetch($template);
75 * @see IRenderEngine::clear()
79 $this->smarty
->clearAssign($key);
84 * @see IRenderEngine::clearAll()
88 $this->smarty
->clearAllAssign();
93 * @see IRenderEngine::getAll()
97 return $this->smarty
->getTemplateVars();