我需要/包含一个文件,以将外部软件的配置值提取到我正在开发的软件中。
是否可以通过 include/require 以某种方式处理外部 php 文件,并将其中的所有变量加载到数组中,或者至少将其设置为自定义命名空间以防止它重置现有变量?
外部应用程序相当老旧,使用普通的 PHP 和变量赋值来为运行做准备。
例子:
$db_type = 'mysql';
$db_user = 'hello';
$db_pass = 'world';
$charset = 'UTF-8';
我需要/包含一个文件,以将外部软件的配置值提取到我正在开发的软件中。
是否可以通过 include/require 以某种方式处理外部 php 文件,并将其中的所有变量加载到数组中,或者至少将其设置为自定义命名空间以防止它重置现有变量?
外部应用程序相当老旧,使用普通的 PHP 和变量赋值来为运行做准备。
例子:
$db_type = 'mysql';
$db_user = 'hello';
$db_pass = 'world';
$charset = 'UTF-8';
您可以将此代码包含在函数中。所有这些变量都将在本地范围内。
function get_old_data() {
include 'old.php';
// do whatever you want with these variables
}
我假设您知道要从外部配置中使用的配置变量的名称。
您可以创建一个包含文件的函数,从变量构建一个数组,然后您可以返回给调用者。
在这种情况下,外部文件将在函数的本地范围内执行,并且不应覆盖外部变量。
function loadconfig() {
include 'external.php';
// do calculations and build var_array
return $var_array;
}
您可以在包含的文件中使用 return 。
可以在包含的文件中执行 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');