我有一个文件(config.php),其中包含我的应用程序配置数据:
<?php
return [
// here is my associative configuration array
// having also Closures in it
];
我要做的就是将此文件发送到Config类,该类将操纵我的数据,它将成为我的配置信息界面。
Config::init(require('config.php'));
那样,除了使用公共Config类方法之外,我不想以任何其他方式访问配置信息。
因此,我只需在项目中包含config.php一次(发送到Config类时)。
一种解决方案是在文件顶部定义一个常量:
<?php
define('config', true);
return [
// here is my associative configuration array
// having also Closures in it
];
那样,两次包含config.php都会产生错误,因为两次定义了“ config”常量,这在php中是非法的。
但是,可以很容易地在第二个include之前删除'config'常量。使用:
runkit_constant_remove('config');
这就是为什么我需要问您一个更安全/可信赖的解决方案,该解决方案可以保证只能从Config类获取配置信息。
答案 0 :(得分:0)
我建议使用一个ini文件来完成。下面是一个简单的示例:
config.ini
[app]
user = myuser
pass = 123123
stage = 1
您的配置初始化:
Config::init(parse_ini_file('app.ini'));
parse_ini_file文档单击here