如何从包含的文件中访问函数内的php变量

时间:2014-01-24 00:12:31

标签: php variables include global

我有一个名为test1.php的文件,其中包含大量变量和一些函数定义。我试图将此文件包含在另一个名为test2.php的文件中,并使用变量和函数。

test1.php

$i = "a";
$ii = "b";
$iii = "c";
function test1a(){ return "lol";  }

test2.php

function test2a(){ include 'test1.php'; return $i; }
function test2b() { include 'test1.php'; return test2c(); }
function test2c(){ include 'test1.php'; return $iii; }
function test2d() { include 'test1.php'; return test1a(); }

的index.php

include 'test2.php'
echo test2a(); 
echo test2b(); 
echo test2c();
echo test2d();

原因:

我在两个不同的服务器上拥有相同的代码库。只有test2.php文件会有所不同。每个服务器在test2.php中都有不同的值,但是具有相同的变量名。 test2.php有点像本地化文件。

我的问题是一些变量或没有出现。有一个更好的方法吗。我不想在每个函数中包含该文件。

感谢。

2 个答案:

答案 0 :(得分:2)

反过来说:

将所有不同的变量放入一个数组中,不带任何函数:

//config.php
$config['setting1'] = "val1";
$config['setting2'] = "val2";
$config['setting3'] = 42;
...

并进一步:

//index.php
include_once("config.php");
echo $config['setting1'];
....

现在,您可能在不同的服务器上有不同的配置,无需更改任何功能。

答案 1 :(得分:0)

您尝试多次包含一个函数的文件。功能始终是全球性的。所以第二个包含给你一个致命错误Fatal error: Cannot redeclare test1a() (previously declared in [..])

您应该将此功能设置为单独的文件并使用include_once。