ide*_*eea 8 php oop configuration class
我该如何存储项目设置?
哪个更好 - 使用$settings包含我所有设置的数组:
$settings['max_photos'] = 30;
//...
Run Code Online (Sandbox Code Playgroud)
或者创建一个Config包含所有设置的单例类?
Class Config {
private $max_photos = 30;
//...
}
Run Code Online (Sandbox Code Playgroud)
有什么好例子吗?
Nik*_*kiC 11
我认为最好使用常量进行配置.例如,使用类常量:
class Config {
const
max_photos = 30,
something_else = 100,
// ...
;
}
echo Config::max_photos;
Run Code Online (Sandbox Code Playgroud)
如果你有PHP 5.3,你也可以将它们定义为全局常量:
const MAX_PHOTOS = 30;
echo MAX_PHOTOS;
Run Code Online (Sandbox Code Playgroud)
但我认为这远不那么干净和直截了当.
显然,只有你只存储常量,即标量,非表达式值,这才会起作用.例如,如果您的配置包含数组,则此功能将不再起作用.在这种情况下,我将使用具有公共静态属性的Config类:
class Config {
public static $per_page = 30;
public static $array = array(...);
}
echo Config::$per_page;
Run Code Online (Sandbox Code Playgroud)
后者与$config数组方法非常相似,但有一个好处(或者可能是一个缺点?)可以从包括函数和类在内的任何地方访问该类,而除非将数据导入到全局空间中,否则只能在全局空间中访问该数组.函数/类使用global $config;.
| 归档时间: |
|
| 查看次数: |
10656 次 |
| 最近记录: |