php模板类不起作用

时间:2016-06-27 08:20:35

标签: php

嗨我的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正常运行。

1 个答案:

答案 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;避免多重包含问题。