改进View类对engine的判断 如果设置为php 则使用原生PHP解析模板

This commit is contained in:
thinkphp
2015-12-20 10:34:02 +08:00
parent c277f62f6a
commit 4b90edad71

View File

@@ -87,8 +87,12 @@ class View
*/ */
public function engine($engine, array $config = []) public function engine($engine, array $config = [])
{ {
$class = '\\think\\view\\driver\\' . ucwords($engine); if('php'==$engine){
$this->engine = new $class($config); $this->engine = 'php';
}else{
$class = '\\think\\view\\driver\\' . ucwords($engine);
$this->engine = new $class($config);
}
return $this; return $this;
} }
@@ -141,13 +145,13 @@ class View
// 页面缓存 // 页面缓存
ob_start(); ob_start();
ob_implicit_flush(0); ob_implicit_flush(0);
if ($this->engine) { if ('php' == $this->engine || empty($this->engine)) {
// 指定模板引擎
$this->engine->fetch($template, $vars, $cache);
} else {
// 原生PHP解析 // 原生PHP解析
extract($vars, EXTR_OVERWRITE); extract($vars, EXTR_OVERWRITE);
is_file($template) ? include $template : eval('?>' . $template); is_file($template) ? include $template : eval('?>' . $template);
} else {
// 指定模板引擎
$this->engine->fetch($template, $vars, $cache);
} }
// 获取并清空缓存 // 获取并清空缓存
$content = ob_get_clean(); $content = ob_get_clean();