/** Return result page content. */ public function getContent() { // assign variables to template // $this->_oTemplate->test = array (1,2,3,4,5); // $this->_oTemplate->users['Nico'] = 'Nikolay Hack'; // $this->_oTemplate->users['Tigg'] = 'Bobby Dic'; // set variables (case sensitive) $data = new stdClass(); $data->project_name = 'Templum 1.0'; $data->PROJECT_NAME = 'Template engine on php5'; // set object as variable $oUser = new User(); $oUser->name = 'Mike Dotten'; $oUserPhones = new User_Phone(); $oUserPhones->mobile1 = '+0175723457'; $oUserPhones->mobile2 = '+0111234567'; $oUser->phone = $oUserPhones; $data->user = $oUser; // set array $data->records['Red'] = 'Green'; $data->records['Black'] = 'White'; $data->records['Blue'] = 'Pink'; $data->records[] = 'Gray'; $data->records[] = 'Brown'; // compile template and return result return $this->_engine->get('test.html', (array) $data); }
protected function _handle(array $params = array()) { // get template file name $templateName = $params['file']; unset($params['file']); // create template $template = new Templum(); $content = $template->get($templateName, $params); // set template to variable if (isset($params['var'])) { $content = addslashes($content); return "<?php {$params['var']}='{$content}'; ?>"; } else { return $content; } }
/** * Initialize template engine. */ public function __construct(Days_View_Config $viewConfig) { // configure template engine Templum::setTemplateDir($viewConfig->getTemplateDir()); Templum::setCompileDir($viewConfig->getCompileDir()); // create template engine instance $this->_engine = Templum::singleton(); }
/** * Save compiled template in file. * * @param string $templateName Path to template file (start from template dir) * @param string $sData Saved data to cache * @return bool */ private static function _setCompile($templateName, $sData) { // full path to template $sCompilePath = Templum::getCompileDir() . $templateName; $sTemplatePath = Templum::getTemplateDir() . $templateName; // create directory hierarhy $sDirs = dirname($sCompilePath); if (!is_dir($sDirs)) { mkdir($sDirs, 0755, true); } // save cache $oFile = file_put_contents($sCompilePath, $sData); // set cache modification time $iDate = filemtime($sTemplatePath); touch($sCompilePath, $iDate); }
public static function setCompileDir($path) { self::checkDir($path, true); self::$_compileDir = rtrim($path, '/') . '/'; }