命名空间和函数名称冲突

Mos*_*ebi 2 php namespaces

我已经为我的类声明了一个方法list(),并且为了避免使用PHP自己的list()函数的colliosn/error ,将它放在命名空间中.但不幸的是我仍然得到错误.她是场景:

我在文件的顶部声明了一个命名空间:

<?php namespace MyNameSpace\ThisClass;
use MyNameSpace\ThisClass;
Run Code Online (Sandbox Code Playgroud)

然后上课:

Class AClass 
{
  function list()
{
// something here
}
}
Run Code Online (Sandbox Code Playgroud)

然后实现它.

$x = MyNameSpace\ThisClass\AClass();
Run Code Online (Sandbox Code Playgroud)

我已经在命名空间中声明了该类,并期望它忽略list()与PHP自己的list()函数的方法冲突.但是,php抛出以下错误:

syntax error, unexpected 'list' (T_LIST), expecting identifier (T_STRING)
Run Code Online (Sandbox Code Playgroud)

考虑到我的list()函数嵌套在命名空间中,为什么我仍然会得到错误?

Rah*_*zir 7

PHP Docs开始:

这些词在PHP中具有特殊意义.其中一些代表看起来像函数的东西,一些看起来像常量,等等 - 但它们不是,真的:它们是语言结构.您不能将以下任何单词用作常量,名,函数方法 名称.将它们用作变量名通常是可以的,但可能会导致混淆.

保留字如下:

  • list()
  • die()
  • include_once()