1

我需要/包含一个文件,以将外部软件的配置值提取到我正在开发的软件中。

是否可以通过 include/require 以某种方式处理外部 php 文件,并将其中的所有变量加载到数组中,或者至少将其设置为自定义命名空间以防止它重置现有变量?

外部应用程序相当老旧,使用普通的 PHP 和变量赋值来为运行做准备。

例子:

$db_type = 'mysql';
$db_user = 'hello';
$db_pass = 'world';
$charset = 'UTF-8'; 
4

3 回答 3

6

您可以将此代码包含在函数中。所有这些变量都将在本地范围内。

function get_old_data() {
    include 'old.php';

    // do whatever you want with these variables

}
于 2013-05-22T06:47:14.267 回答
1

我假设您知道要从外部配置中使用的配置变量的名称。

您可以创建一个包含文件的函数,从变量构建一个数组,然后您可以返回给调用者。

在这种情况下,外部文件将在函数的本地范围内执行,并且不应覆盖外部变量。

function loadconfig() {
  include 'external.php';
  // do calculations and build var_array
  return $var_array;
}
于 2013-05-22T06:52:09.613 回答
0

您可以在包含的文件中使用 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');
于 2013-05-22T06:48:06.110 回答