PHP中的变量范围问题

时间:2011-11-01 04:02:21

标签: php model-view-controller scope

这是我的情况:

我正在开发一个PHP项目,它使用我编写的一些函数来处理外部xml文档。我想要做的是将相同的functions.php文件导入到许多使用相同代码的不同页面中。问题是xml文件的路径并不总是相同,并且通常取决于当前显示的视图。

我想要做的基本上是在我$source = 'path-relative-to-view';之前在我的视图中声明include 'path-to-functions.php';,然后让函数在必要时访问$ source变量。通过这种方式,我不必为我所在的每个目录重写函数。

我认为这是可能的,但遗憾的是,我还没有使用过足够的PHP知道。

2 个答案:

答案 0 :(得分:2)

你可以使用全局变量 - 但不是,全局变量不好。

只需重写函数即可将文件路径作为其参数之一。

你可以做的另一件事就是将它们分组到一个类中。然后使用类的成员变量来存储它们都能够访问的路径。

答案 1 :(得分:1)

你必须在每个使用它的函数中声明$source全局。

function abc
{
    global $source;
    //--use $source
}