各种模板文件之间的PHP变量范围

时间:2012-06-22 11:12:04

标签: php templates variables scope

这是一个新手问题,我知道。

模板结构是你常用的index.php,有一些require_once()用于页眉/页脚等。

我在index.php的顶部定义一个var,然后在任何require_once()的基础网址之前,例如$ url ='http:// url';

然后,我希望将其反映到所有模板文件,header / index / footer等中,它在index.php中按预期工作,但在包含在其中的所有模板文件中都有未定义的var失败。

我知道这是一个范围问题,但我完全不知道如何修复它。

我知道手册中说变量可用于包含的文件,但它们不是。这可能是我本地PHP安装的问题吗?

编辑:创建了几个测试文件,并在两个文件之间定义了var,那么他们为什么不在我的主站点文件上工作呢?

任何帮助都能得到优雅的回复。

非常感谢

1 个答案:

答案 0 :(得分:1)

如果使用函数或方法(类中的函数),则需要在函数内部执行global $variable。否则你将无法访问它,你也可以将它定义为常量。常数总是全局的。

define('MYURL', $url);

如果您还没有使用PHP框架,可能需要使用它。