PHP包含自定义“命名空间”的文件

时间:2013-05-22 06:45:15

标签: php

我需要/包含一个文件来从外部软件中获取配置值到我正在开发的软件中。

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

外部应用程序非常陈旧,使用普通的PHP和变量赋值来为运行做好准备。

示例:

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

3 个答案:

答案 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语句,以终止该文件中的处理并返回调用它的脚本。

Include

示例:

// 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');