在Symfony 2中,这一行意味着什么:
$task->setDueDate(new \DateTime('tomorrow'));
Run Code Online (Sandbox Code Playgroud)
什么\DateTime意味着什么?可以从任何地方访问吗?
Pri*_*ner 34
一个小的FYI首先,这与Symfony没有任何关系 - 只是Symfony2使用命名空间.
不使用名称空间时,datetime类始终可用new DateTime()- 这是因为您已经位于"根"名称空间中.但是,当您使用命名空间时,只需使用new DateTime()不会工作,因为它将在当前命名空间中查找该类.例:
<?php
namespace MyApp\Component;
class Something
{
function __construct()
{
$dt = new DateTime();
}
}
Run Code Online (Sandbox Code Playgroud)
这将导致错误(例如Class 'MyApp\Component\DateTime' not found in ...),因为MyApp\Component名称空间中没有名为DateTime的类.
这就是为什么你发现\DateTime(),它告诉解释器查看类的"root"(?)命名空间DateTime.
您还可以使用use关键字导入DateTime类 - 脚本的顶部看起来像 - 这允许您只需调用new DateTime():
<?php
namespace MyApp\Component;
use \DateTime;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11376 次 |
| 最近记录: |