我需要/包含一个文件来从外部软件中获取配置值到我正在开发的软件中。
是否可以通过include / require以某种方式处理外部php文件,并将其中的所有变量加载到数组中,或者至少将其设置为自定义命名空间以防止它重置现有变量?
外部应用程序非常陈旧,使用普通的PHP和变量赋值来为运行做好准备。
示例:
$db_type = 'mysql';
$db_user = 'hello';
$db_pass = 'world';
$charset = 'UTF-8';
答案 0 :(得分:6)
您可以在函数中包含此代码。所有这些变量都将在本地范围内。
function get_old_data() {
include 'old.php';
// do whatever you want with these variables
}
答案 1 :(得分:1)
我假设您知道要从外部配置中使用的配置变量的名称。
您可以创建一个函数,在该函数中包含文件,从变量构建数组,然后您可以返回调用者。
在这种情况下,外部文件将在函数的本地范围内执行,不应覆盖外部变量。
function loadconfig() {
include 'external.php';
// do calculations and build var_array
return $var_array;
}
答案 2 :(得分:0)
您可以使用包含文件内的返回。
可以在包含文件中执行return语句,以终止该文件中的处理并返回调用它的脚本。
示例:
// config.php
return array('db_type' => 'mysql',
'db_user' => 'hello',
'db_pass' => 'world',
'charset' => 'UTF-8',);
然后像这样使用它
$config = include 'config.php';
即使这样
$connection = new Connection(include 'config.php');