PHP:在命名空间中引用全局函数
我遇到了一个我无法用名称空间解释的奇怪问题。函数PHP:在命名空间中引用全局函数,php,namespaces,Php,Namespaces,我遇到了一个我无法用名称空间解释的奇怪问题。函数array()似乎不允许在名称空间中使用\array()进行全局引用。这是预期的功能还是PHP中的某种不一致性 返回的错误为: PHP解析错误:语法错误,意外的T_数组,第2行的PHP shell代码中需要T_字符串 下面的代码复制了显示的错误: <?php namespace Testing; final class Test { private $properties = \array( "test" =>
array()
似乎不允许在名称空间中使用\array()
进行全局引用。这是预期的功能还是PHP中的某种不一致性
返回的错误为:
PHP解析错误:语法错误,意外的T_数组,第2行的PHP shell代码中需要T_字符串
下面的代码复制了显示的错误:
<?php
namespace Testing;
final class Test {
private $properties = \array(
"test" => "testing",
"weird_functionality" => "test"
);
}
?>
array()
不是一个函数,它基本上是一个语言原语(“语言构造”)。正如您所看到的,它甚至有自己的解析器令牌T\u ARRAY
是的,这是意料之中的,因为它从一开始就不受名称空间的影响 array()
不是一个函数,它是一个语言构造,无法命名
使用此选项(不带\
):
<?php
namespace Testing;
final class Test {
private $properties = array(
"test" => "testing",
"weird_functionality" => "test"
);
}