本文整理汇总了PHP中Dwoo::templateFactory方法的典型用法代码示例。如果您正苦于以下问题:PHP Dwoo::templateFactory方法的具体用法?PHP Dwoo::templateFactory怎么用?PHP Dwoo::templateFactory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dwoo
的用法示例。
在下文中一共展示了Dwoo::templateFactory方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Dwoo_Plugin_include
/**
* Inserts another template into the current one
* <pre>
* * file : the resource name of the template
* * cache_time : cache length in seconds
* * cache_id : cache identifier for the included template
* * compile_id : compilation identifier for the included template
* * data : data to feed into the included template, it can be any array and will default to $_root (the current data)
* * assign : if set, the output of the included template will be saved in this variable instead of being output
* * rest : any additional parameter/value provided will be added to the data array
* </pre>
* This software is provided 'as-is', without any express or implied warranty.
* In no event will the authors be held liable for any damages arising from the use of this software.
*
* @author Jordi Boggiano <j.boggiano@seld.be>
* @copyright Copyright (c) 2008, Jordi Boggiano
* @license http://dwoo.org/LICENSE Modified BSD License
* @link http://dwoo.org/
* @version 1.1.0
* @date 2009-07-18
* @package Dwoo
*/
function Dwoo_Plugin_include(Dwoo $dwoo, $file, $cache_time = null, $cache_id = null, $compile_id = null, $data = '_root', $assign = null, array $rest = array())
{
if ($file === '') {
return;
}
if (preg_match('#^([a-z]{2,}):(.*)$#i', $file, $m)) {
// resource:identifier given, extract them
$resource = $m[1];
$identifier = $m[2];
} else {
// get the current template's resource
$resource = $dwoo->getTemplate()->getResourceName();
$identifier = $file;
}
try {
if (!is_numeric($cache_time)) {
$cache_time = null;
}
$include = $dwoo->templateFactory($resource, $identifier, $cache_time, $cache_id, $compile_id);
} catch (Dwoo_Security_Exception $e) {
return $dwoo->triggerError('Include : Security restriction : ' . $e->getMessage(), E_USER_WARNING);
} catch (Dwoo_Exception $e) {
return $dwoo->triggerError('Include : ' . $e->getMessage(), E_USER_WARNING);
}
if ($include === null) {
return $dwoo->triggerError('Include : Resource "' . $resource . ':' . $identifier . '" not found.', E_USER_WARNING);
} elseif ($include === false) {
return $dwoo->triggerError('Include : Resource "' . $resource . '" does not support includes.', E_USER_WARNING);
}
if ($dwoo->isArray($data)) {
$vars = $data;
} elseif ($dwoo->isArray($cache_time)) {
$vars = $cache_time;
} else {
$vars = $dwoo->readVar($data);
}
if (count($rest)) {
$vars = $rest + $vars;
}
$out = $dwoo->get($include, $vars);
if ($assign !== null) {
$dwoo->assignInScope($out, $assign);
} else {
return $out;
}
}
示例2: templateFactory
public function templateFactory($resourceName, $resourceId, $cacheTime = null, $cacheId = null, $compileId = null, Dwoo_ITemplate $parentTemplate = null)
{
if ($this->debug_flag) {
$cacheTime = 0;
}
if (substr($resourceId, strlen($resourceId) - 5) === '.dwoo') {
$resourceId = substr($resourceId, 0, strlen($resourceId) - 5);
}
if (is_null($compileId)) {
$compileId = str_replace('/', '_', $resourceId);
}
if (file_exists($resourceId . '.dwoo')) {
$resourceId = $resourceId . '.dwoo';
} else {
if (file_exists($this->template_dir . $resourceId . '.dwoo')) {
$resourceId = $this->template_dir . $resourceId . '.dwoo';
} else {
throw new NoTemplateException('No template found ' . $resourceId . '.dwoo from ' . $this->template_dir, E_USER_ERROR);
}
}
return parent::templateFactory($resourceName, $resourceId, $cacheTime, $cacheId, $compileId, $parentTemplate);
}