2

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

她和我们在生产服务器上使用的一样,但是由于某种原因,当我在我的虚拟机上运行时,就像

namespace NotWorking;

$foo = new DateTime();

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

但是当我使用类似的东西时:

namespace Working;

$foo = new \DateTime();

有用。我们已经比较了我知道的所有设置,但没有发现与 php 的构建有任何区别,甚至 apatch 也是相同的构建。

是否可以选择强制执行此“功能”?

4

1 回答 1

2

DateTime 在全局命名空间中,并且作为“类名始终解析为当前命名空间名称”,您必须使用 \DateTime

你可以在这里阅读更多关于它的信息

如果您在本地命名空间中有一个与全局命名空间中的同名的类,则必须添加前缀\,否则您将只是导入本地类。

于 2013-04-24T15:32:06.887 回答