本文整理汇总了PHP中Output::getTemplateCompiler方法的典型用法代码示例。如果您正苦于以下问题:PHP Output::getTemplateCompiler方法的具体用法?PHP Output::getTemplateCompiler怎么用?PHP Output::getTemplateCompiler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Output
的用法示例。
在下文中一共展示了Output::getTemplateCompiler方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fetch
/**
* Отрисовать по шаблону
* @param String $template
* @param array $date
* @return String
*/
public function fetch($template, $data = false)
{
// найти шаблон, он может быть и у любого потомка этого класса, они же и друг от друга наследуют
$dir = $this->dir;
$class = get_class($this);
while (!file_exists($dir . '/' . $template) && !file_exists($template)) {
$class = get_parent_class($class);
if ($class) {
$ref = new ReflectionClass($class);
if (!$ref->isAbstract()) {
$obj = new $class();
$dir = $obj->getDir();
}
} else {
return '';
}
}
// Если переданы данные, сделать обозначения
if ($data !== false) {
foreach ($data as $key => $value) {
Output::assign($key, $value);
}
}
$templatedir = Output::getTemplateCompiler()->getTemplateDir();
Output::getTemplateCompiler()->setTemplateDir($dir);
$content = Output::fetch($template);
Output::getTemplateCompiler()->setTemplateDir($templatedir);
return $content;
}
示例2: fetch
/**
* Отрработать вывод по шаблону
* @param string $template
* @return string
*/
public function fetch($template)
{
/* TODO: тут проблемы с отрисовкой, нужно наследовать шаблоны
*/
if ($_SERVER[debug][report]) {
profiler::add("Выполнение", "{$this->name}: {$template} начало отрисовки");
}
// найдем шаблон
$obj = $this;
while ($obj) {
if (file_exists($obj->getViewDir() . '/' . $template)) {
$templatedir = Output::getTemplateCompiler()->getTemplateDir();
Output::getTemplateCompiler()->setTemplateDir($obj->getViewDir());
$content = Output::fetch($template);
Output::getTemplateCompiler()->setTemplateDir($templatedir);
break;
}
$parentclass = get_parent_class($obj);
if ($parentclass) {
$obj = new $parentclass();
} else {
$obj = false;
}
}
if ($_SERVER[debug][report]) {
profiler::add("Выполнение", "{$this->name}: {$template} конец отрисовки");
}
return $content;
}