在哪里保持显示网页的设置? (PHP / XML / JSON / INI)

时间:2011-11-17 17:30:31

标签: php templates configuration-files

我有一个Templating类,它将所有设置保存在php类中。

这些设置包括:css样式,js脚本,元标记和每个页面的标题。 (例如在index.php上我需要一些js脚本,但对于contacts.php - 其他js文件)。

编辑这个配置数据并不是很舒服,因为它在一个类的私有属性中,而编辑程序员可能会在php代码中出错。

将此配置数据保存在外部文件中是个好主意吗? Xml / json / ini? 这会让网站呈现得慢得多吗?

2 个答案:

答案 0 :(得分:3)

using.ini文件是PHP的一大特色:

class Template {
    private $config;
    public function __construct() {
        $this->config = parse_ini_file('templates.ini');
    }
    public function fetch() {
        $this->config['default_dir']; // example
    }
}

根据你的评论 - 加载它不是那么快。但是你总是可以在内存中缓存.ini文件:

class IniFiles {
    private static $_files = Array();
    public static function parse($file) {
        if(isset(self::$_files[$file])) return self::$_files[$file];
        self::$_files[$file] = parse_ini_file($file);
        return self::$_files[$file];
    }
}

class Template {
    private $config;
    public function __construct() {
        $this->config = IniFiles::parse('templates.ini');
    }
    public function fetch() {
        $this->config['default_dir']; // example
    }
}

现在它是完美的解决方案。 :)

答案 1 :(得分:2)

  

将此配置数据保存在外部文件中是一个好主意吗?

是的,这是一个好主意,通常称为配置文件。

  

XML / JSON / INI?

选择适合您需求和偏好的产品。

  

这会让网站渲染速度慢得多吗?

没有渲染与之无关,渲染代码不会被更改。