当我尝试在该类上创建与静态函数同名的实例函数时,我收到以下错误消息:
Fatal error: Cannot redeclare Module::get_config() in [path]/static-redeclare.php on line 32
我用于此测试的完整代码可以在这里找到:https ://gist.github.com/IQAndreas/ccaebe6d660a7248ca9e
这种类型的错误不会出现在其他语言中,例如 Action Script 3 和 Java。我是否错误地声明了函数,或者 PHP 只是像那样“特殊”,并且不喜欢重复的函数名称,即使它们在不同的范围内?
如果是后者,PHP 防止静态和实例函数名称冲突是否有合理的原因,还是 PHP 语言的作者一时兴起决定的?