嗨我的php模板类有问题。问题是当我打开index.php文件时它没有显示任何内容。我不确定但是我认为问题出在模板类中 的的template.php:
<?php
class Template {
protected $template;
protected $vars = array();
public function __construct($template){
$this->template = $template;
}
public function __get($key){
return $this->vars[$key];
}
public function __set($key, $value){
$this->vars[$key] = $value;
}
public function __toString(){
extract($this->vars);
chdir(dirname($this->template));
ob_start();
include basename($this->template);
return ob_get_clean();
}
}
?>
头版:
<?php include('includes/header.php'); ?>
test
<?php include('includes/footer.php'); ?>
index.php:
<?php
require 'ini.php';
$template = new Template('templates/frontpage.php');
echo $template;
?>
ini.php:
<?php
session_start();
function __autoload ($class_name){
require_once('libraries/'.$class_name'.php');
}
?>
注意:frontpage.php正常运行。
答案 0 :(得分:2)
我已将您的代码放入我的本地Web服务器并检查apache错误日志(这应该是您应该做的),这是错误:
问题是:PHP解析错误:语法错误,意外&#39; .php&#39;&#39; /var/www/html/template/ini.php上的(T_CONSTANT_ENCAPSED_STRING)在线 4
require_once('libraries/'.$class_name '.php');
而不是
require_once('libraries/'.$class_name . '.php');
当我纠正它时,又出现了另一个错误:
PHP致命错误:require_once():无法打开所需的错误 &#39;库/的template.php&#39; (include_path =&#39;。:/ usr / share / php&#39;)in 第4行的/var/www/html/template/ini.php
所以看起来你们库目录中的所有类都应该有他们的第一个文件名upercase。
重命名
库/的template.php
带
库/的template.php
注意:您应该更换功能&#34;要求&#34;与&#34; require_once&#34;避免多重包含问题。