繁体   English   中英

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

[英]how to access a php variable inside a function from an included file

我有一个名为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有点像本地化文件。

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

谢谢。

反过来说:

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

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

并进一步:

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

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

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

您应该将此函数放在单独的文件中并使用include_once。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM