如何使用自动加载器加载PHP配置文件

时间:2015-03-03 21:51:26

标签: php oop autoloader

我有一个遗留代码项目,我几乎成功转换为使用自动加载器而不是bazillion include和require语句。

我唯一剩下的问题是配置文件,它设置了一些全局配置。就像现在一样,它只是一个直接的PHP,可以加载应用程序所需的变量。

我的想法是将它转换为一个具有类常量的类,用于"全局"数据。使类不变调用将触发config类的自动加载,并将所有内容置于自动加载器的控制之下。

我的问题是,这是否是解决此问题的最佳方法,以及其他人是否做过类似的事情?

所以在我的应用程序中,而不是调用这样的东西来访问配置变量。

$GLOBALS['conf']['thingy'];

这会变成这样的事。

Config::THINGY

其中的东西是const const。

class Config {
   const THINGY = 'yes, this is it';
}

这种方法也摆脱了全局数据引用,我认为这总是一件好事。

1 个答案:

答案 0 :(得分:1)

你肯定是在正确的轨道上。与编程相关的任何内容一样,有100万+ 1种方法可以为猫皮肤设置,这里有一些选项/ w一些信息。

Yaml :Symfony等框架大量使用。如果您不使用SF框架,则可以轻松实现SF Yaml解析器中的支架。支持层次结构。

JSON :维护配置选项的极佳方式,非常便携。支持层次结构。

ini :您可以使用内置的parse_ini_file函数来加载配置设置,但是ini文件中的层次结构很难维护,并且只能使用任意命名空间约定来实现。

数据库:您实际上可以在数据库中存储设置(在永久存储和应用之间有缓存层),如果您想为用户创建更改值的web gui,这非常有用,无需推送代码。

类常量:这种方法没有任何问题,但可以说任何一个配置选项都是一个更清洁的,更便携的。< / p>