Да и нет. list
не является функцией, а language construct. Таким образом, это «зарезервированное слово», то есть во время компиляции он будет обрабатываться по-разному с помощью токенизатора.
Компилятор ожидает использования токена list
, как в языковой конструкции, поэтому с сообщением (
. Вместо этого вы кормите его оператором области, что означает, что он запутывается. Простейшее решение переименовать класс (это слишком общий в любом случае) или для предотвращения конфликтов пространства имен, либо поставив класс List
в своем собственном пространстве имен, либо в явном виде ссылки на глобальное пространство имен:
\List::method();
Это должно работать, а также от PHP 5.3 вверх - он сообщает компилятору заглянуть в глобальное пространство имен, где он автоматически ожидает имя класса после обратного слэша.
'list' является зарезервированным словом PHP .... потому что вы не можете иметь имя класса, которое соответствует существующей функции или конструкции –
Получил это: https://bugs.php.net/bug.php?id= 40790 – user2419849
Устойчивый вопрос, потому что он хороший для будущих посетителей. –