相同配置上的PhP名称空间


PhP name space on identical configurations

我的开发机器有一个不常见的问题。

与我们在生产服务器上使用的相同,但由于某些原因,当我在vm上运行时,出现了类似

的内容。
namespace NotWorking;
$foo = new DateTime();

它在我的本地机器上工作,但在我们的生产服务器上失败,没有任何错误。

但是当我使用像

这样的东西时
namespace Working;
$foo = new 'DateTime();

它的工作原理。我们已经比较了我所知道的所有设置,但没有发现与PHP的构建有任何差异,甚至apache也是相同的构建。

是否有强制执行此"功能"的选项?

DateTime在全局命名空间中,由于"类名总是解析为当前命名空间名称",您必须使用'DateTime

你可以在这里阅读更多信息

如果本地命名空间中的类与全局命名空间中的类具有相同的名称,则必须加上'前缀,否则将只是导入本地类。