【发布时间】:2016-11-01 22:50:24
【问题描述】:
我有一个有趣的问题,如果命名空间中的一个文件夹以“t”、“s”或“n”结尾,那么它后面有一个子文件夹,那么它就不会解析。
前:
namespace DDM\Components\Widget\List;
这导致:Parse error: syntax error, unexpected 'List' (T_LIST), expecting identifier (T_STRING) in <...filepath...>
以前面提到的其他 2 个字母结尾的文件夹也是如此。
我在 Windows 系统上,但文件是从 Debian (jessie) 盒子提供的,通过 nginx 和 PHP-FPM 运行 PHP 版本 5.6.27-0+deb8u1
更新
如果我尝试在整个命名空间前加上 \ 前缀,那么 phpstorm 不再将其识别为语法错误,但 php 编译器仍然给出与上述相同的错误。
任何“L”名子文件夹都有这个结果
正如 Jay 所指出的,List 是 PHP 保留字,但是使用任何“L”文件夹名称都会导致不同的错误:
Fatal error: Undefined constant 'DDM\Components\Widget\Lists'
欢迎提出任何建议。
【问题讨论】:
标签: php namespaces composer-php php-5.6