在 Symfony 2 中,这行是什么意思:
$task->setDueDate(new \DateTime('tomorrow'));
\DateTime
是什么意思?可以从任何地方访问它吗?
最佳答案
首先是一个小的 FYI,这与 Symfony 没有任何关系 - 它只是碰巧 Symfony2 使用 namespaces .
当不使用 namespace 时,datetime class通过 new DateTime()
始终可用 - 这是因为您已经在“根”命名空间中。但是,当您使用 namespace 时,仅使用 new DateTime()
将不起作用,因为它将在当前 namespace 中查找该类。示例:
<?php
namespace MyApp\Component;
class Something
{
function __construct()
{
$dt = new DateTime();
}
}
这会导致错误(例如 Class 'MyApp\Component\DateTime' not found in ...
),因为 MyApp\Component
中没有类名为 DateTime 的命名空间。
这就是您找到 \DateTime()
的原因,它告诉解释器在类 DateTime
的“根”(?)命名空间中查找。
您还可以使用 use
关键字导入 DateTime
类 - 你的脚本的顶部看起来像 - 这允许你调用 new DateTime()
:
<?php
namespace MyApp\Component;
use \DateTime;
关于php - 在 Symfony2 中,\DateTime 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15390681/