此问题在此处已有答案:
PHP reserved keywords allowed in namespace? (public, private, default)(2个答案)
4天前关闭。
我有下面的PHP(7.1)代码。在执行该代码时,我得到下面的错误:
解析错误:语法错误,第7行代码中出现意外的“Interface”(T_INTERFACE),需要标识符(T_STRING)或函数(T_FUNCTION)或常量(T_CONST)或\(T_NS_SEPARATOR)
<?php
declare(strict_types=1);
namespace CommandBus\Handler;
use Interface\{
Parser\ZipFilenameParserInterface,
Query\UpdateLettersQueryInterface,
};
final class ZipFileGeneratorCommandHandler
{
// the rest of the code
}
谷歌没有多大帮助。我不能ChatGPT这个东西,因为我没有访问ChatGPT:(。
1条答案
按热度按时间qxsslcnc1#
抱歉,这确实是记录在案的行为,只是不在手册中:参见https://stackoverflow.com/a/75887334/13508和https://wiki.php.net/rfc/namespaced_names_as_token
你可能在PHP语言parser.
Interface
中发现了一个特殊情况,但是在允许/不允许的用法列表中没有明确提到:以下单词不能用作常量、类名或函数名。但是,它们可以用作类、接口和trait的属性、常量和方法名,除非class不能用作常量名。
这些是有效的:
Demo
Demo
这不是:
Demo