试图理解命名空间编码

时间:2014-01-30 17:08:53

标签: php namespaces

我之前从未真正使用PHP命名空间,我正在阅读如何在PHP网站上使用它,包括如何在一个文件中包含命名空间代码和非空间(全局代码)。

来源:http://www.php.net/manual/en/language.namespaces.definitionmultiple.php

然后我尝试了以下测试:

namespace {

    $bar = 123;

}

namespace moo {

    $bar = 400;

}

namespace {

    echo $bar . "<br>\n";
    //echo moo\$bar . "<br>\n";    

}

然而我得到的却是出乎意料的......

以上的输出是:

400

不应该是123因为我没有引用moo名称空间吗?另外,如果我取消注释下一行,我会收到PHP语法错误。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

此处Can PHP namespaces contain variables?是您的答案:“变量将始终存在于全局范围内。它们永远不会绑定到名称空间。”