相同配置上的 PhP namespace

标签 php configuration namespaces

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

她与我们在生产服务器上使用的相同,但由于某种原因,当我在我的虚拟机上运行时,比如

namespace NotWorking;

$foo = new DateTime();

它可以在我的本地计算机上运行,​​但在我们的生产服务器上失败且没有任何错误。

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

namespace Working;

$foo = new \DateTime();

它有效。我们比较了我已知的所有设置,但没有发现 php 的构建有任何差异,甚至 apatche 也是相同的构建。

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

最佳答案

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

您可以阅读更多相关信息here

如果本地命名空间中的类与全局命名空间中的类同名,则必须添加前缀 \,否则只会导入本地类。

关于相同配置上的 PhP namespace ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16196052/

相关文章:

php - Laravel 邮件附件超时

configuration - 如何找到CouchDB的local.ini文件,以便自定义其设置?

c++ - 效用函数的匿名命名空间

php - 使用 Delphi 和 HTTP POST 执行 Web 操作

php - 从运行 PHP 的应用服务调用 Azure 表存储时出现 cURL 错误 60

php - 在 Laravel 中下载文件

grails - 每个区域的Stripe Grails配置

ruby - 如何在 ruby​​ 中读取 INI 文件

jquery - 如何在 onclick 和 windows.resize 上运行命名空间函数

javascript - 在 Javascript 中将 "This"放入命名空间