我应该如何存储项目设置?
哪个更好 - 使用包含我所有设置的 $settings
数组:
$settings['max_photos'] = 30;
//...
或者创建一个包含所有设置的单例 Config
类?
Class Config {
private $max_photos = 30;
//...
}
有什么好的例子吗?
最佳答案
我认为最好使用常量进行配置。例如使用类常量:
class Config {
const
max_photos = 30,
something_else = 100,
// ...
;
}
echo Config::max_photos;
如果您有 PHP 5.3,您还可以将它们定义为全局常量:
const MAX_PHOTOS = 30;
echo MAX_PHOTOS;
但我认为这远没有那么干净和直接。
显然,这仅在您仅存储常量(即标量、非表达式值)时才有效。例如,如果您的配置包含数组,这将不再有效。在这种情况下,我将使用具有公共(public)静态属性的 Config 类:
class Config {
public static $per_page = 30;
public static $array = array(...);
}
echo Config::$per_page;
后者与 $config
数组方法非常相似,但有一个好处(或者这可能是一个缺点?)该类可以从任何地方访问,包括函数和类,而数组只能在全局空间中访问,除非您使用 global $config;
将其导入到函数/类中。
关于php - $settings 数组或配置类来存储项目设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3270661/