-1

有 3 个 .php 文件:

变量.php

    $foo = 'bar';

header.php:

    include_once("vars.php");
    echo "In header: $foo";

页脚.php:

    include_once("vars.php");
    echo "In footer: $foo";

在上述情况下,footer.php 中没有设置 $foo。如果我删除include_once()header.php 中的内容,则 $foo 设置在 footer.php 中,而不是 header.php 中。

我猜我在某个地方做傻事,但为了我的生活,我找不到它。

4

2 回答 2

2

这些..._once()功能不关心包含/要求发生在哪里。一旦一个文件被包含进来,在特定的脚本执行运行期间,它就永远不会再次成为 include_once/require_once 了。

如果您需要在不同位置多次包含它,请不要使用 _once() 变体。

于 2012-05-08T15:37:43.997 回答
2

第二次不包含它的原因是因为你告诉它include_once-一次

无论如何,如果您保留在 header.php 中,$foo则应该包括在内。include_once确保您没有$foo在 footer.php 之前更改。

于 2012-05-08T15:38:10.310 回答