您好我正在尝试制作自己的简单模板系统 而我只是在学习课程,所以我正在尝试用类和对象来做。
如果我将它放在每个文档的顶部,它就可以工作:
$template = new Includes('name', 'path');
$include = new Includes('name', 'path');
但感觉它不应该是必要的,而且它不那么漂亮。
这就是我的代码现在安排的方式:
的index.php:
<?php
require_once 'class_include.php';
$template->loadTemplate('body');
body.php:
<?php require_once 'class_include.php'; ?>
<head>
<?php $template->loadTemplate('head'); ?>
</head>
<body>
<?php
$template->loadTemplate('sidepanel');
$template->loadTemplate('content');
?>
</body>
class_include.php:
class Includes {
public function loadTemplate($name, $path = 'template'){
require_once "$path/$name.php";
}
public function loadInc($name, $path = 'inc'){
require_once '$path/$name' . '.php';
}
}
$template = new Includes('name', 'path');
$include = new Includes('name', 'path');
错误消息:
(!)致命错误:在C:\ wamp \ www \ project \ template \ body.php
(!)注意:未定义的变量:C:\ wamp \ www \ project \ template \ body.php中的模板
感谢您提供的任何帮助!
答案 0 :(得分:0)
认为在您的代码中,您应该使用静态方法而不是对象。
的的index.php 强>
<?php
require_once 'class_include.php';
Includes::loadTemplate('body');
<强> body.php 强>
<head>
<?php Includes::loadTemplate('head'); ?>
</head>
<body>
<?php
Includes::loadTemplate('sidepanel');
Includes::loadTemplate('content');
?>
</body>
<强> class_includes.php 强>
class Includes {
public static function loadTemplate($name, $path = 'template'){
require_once "$path/$name.php";
}
public static function loadInc($name, $path = 'inc'){
require_once '$path/$name' . '.php';
}
}