我忙于使用模板引擎,当我尝试加载参数时,会出现此错误:
注意:未定义的变量:第21行的C:\ xampp \ htdocs \ global.php中的模板
致命错误:在第21行的C:\ xampp \ htdocs \ global.php中的非对象上调用成员函数makeCut()
但在发动机本身:
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
include('app/includes/classes/class.db.php');
class template extends DB {
public $template;
public $content;
public $variables = array();
public function makeCut($name, $value) {
$this->Cut['{' . $name . '}'] = $value;
}
public function getCut($content) {
$content = str_replace(array_keys($this->param), array_values($this->param), $content);
return $content;
}
public function echoPage() {
echo $this->getCut($this->content);
}
}
$template = new template;
(我确实剪了一块)
那么这里发生了什么?
编辑:我的global.php的一些行
function __autoload($class_name) {
require_once('app/includes/classes/class.' . $class_name . '.php');
}
require_once('app/includes/languages/lang.' . LANGUAGE . '.php');
// Params
$template->makeCut('slider', "<?php include('sliders/' . $users->slideCheck(); . '.html'); ?>");
?>
答案 0 :(得分:2)
最有可能的是,您的global.php
并未包含定义template
类的文件,因此$template
在使用前从不实例化。如果需要类,__autoload
可以自动加载文件,但如果需要变量,它就不知道加载文件。