php命名空间使用变量不起作用回退到全局

时间:2014-10-08 23:42:19

标签: php namespaces

我有两个文件:

的index.php

$a = "a";

namespace.php

namespace tom\anderson\s;
include 'index.php';


echo \$a;

这不起作用并输出此错误消息:Parse error: syntax error, unexpected '$a' (T_VARIABLE), expecting identifier (T_STRING) in...

这是为什么?任何对官方文档的引用都会有所帮助!

2 个答案:

答案 0 :(得分:1)

来自PHP docs

  

PHP命名空间提供了一种对相关类,接口,函数和常量进行分组的方法。

当您用于对变量进行分组时,会触发错误。

答案 1 :(得分:0)

变量不属于命名空间,并且存在于全局范围内。 要在$ a之前删除程序工作斜杠。

来自php文档。定义名称空间 尽管任何有效的PHP代码都可以包含在命名空间中,但只有以下类型的代码受命名空间的影响:类(包括摘要和特征),接口,函数和常量。 http://php.net/manual/en/language.namespaces.definition.php