我的开发机器有一个不常见的问题。
与我们在生产服务器上使用的相同,但由于某些原因,当我在vm上运行时,出现了类似
的内容。namespace NotWorking;
$foo = new DateTime();
它在我的本地机器上工作,但在我们的生产服务器上失败,没有任何错误。
但是当我使用像
这样的东西时namespace Working;
$foo = new 'DateTime();
它的工作原理。我们已经比较了我所知道的所有设置,但没有发现与PHP的构建有任何差异,甚至apache也是相同的构建。
是否有强制执行此"功能"的选项?
DateTime在全局命名空间中,由于"类名总是解析为当前命名空间名称",您必须使用'DateTime
你可以在这里阅读更多信息
如果本地命名空间中的类与全局命名空间中的类具有相同的名称,则必须加上'
前缀,否则将只是导入本地类。