php - 在 Symfony2 中,\DateTime 是什么意思?

标签 php symfony

在 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/

相关文章:

php - mysql PHP中如何从某一行开始到某一行结束?

javascript - 使用 laravel 迁移插入数据库时​​,如何附加给定输入的字符串?

html - Twig 之间渲染的隐形角色包括

php - 列出奏鸣曲管理包中的图像

php - 在 symfony2 中将事件添加到 CalendarBundle

php - 如何在 while 循环中使用 $mysqli->result?

php - 如何仅获取脚本在 php 中运行的目录中的父文件夹的名称?

php - 不使用 ondelete 或 onupdate 时外键的优势

symfony - Sensiolabs/Symfony 重复组件 : Which ones should I use?

php - symfony 5.3 上传文件的问题