[英]include php file only once in project
我有一个文件(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中是非法的。
但是,“ config”常量可以很容易地在第二个include之前删除。 带有:
runkit_constant_remove('config');
这就是为什么我需要问您一个更安全/可信赖的解决方案,该解决方案可以保证只能从Config类获取配置信息。
我建议用一个ini文件。 下面的简单示例:
config.ini
[app]
user = myuser
pass = 123123
stage = 1
您的配置初始化:
Config::init(parse_ini_file('app.ini'));
parse_ini_file文档单击此处
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.