在哪里保持显示网页的设置?(php / xml / json / ini)


Where to keep settings of displaying web page? (php/xml/json/ini)

我有一个小的模板类,它将所有设置保存在php类中。

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

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

将这些配置数据保存在外部文件中是一个好主意吗?Xml/json/ini吗?这会使站点渲染变慢吗?

使用。ini文件是PHP的一个伟大特性:

class Template {
    private $config;
    public function __construct() {
        $this->config = parse_ini_file('templates.ini');
    }
    public function fetch() {
        $this->config['default_dir']; // example
    }
}
  • 文档http://php.net/manual/en/function.parse-ini-file.php

根据你的评论-加载它不是那么快。但是你总是可以在内存中缓存。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
    }
}

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

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

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

Xml/json/ini吗?

选择任何适合你的需要和偏好。

这会使站点渲染变慢吗?

不渲染与它无关,渲染代码不会被改变