PHP DateTime класс Пространство имен - PullRequest
45 голосов
/ 03 декабря 2011

Я использую фреймворк symfony2 и хочу использовать класс DateTime в PHP (версия PHP 5.3).

Здесь объявление:

namespace SDCU\GeneralBundle\Entity;

class Country
{
   public function __construct(){
       $this->insertedAt = new DateTime();
   }
}

Но при выполнении этогоконструктор, я получаю сообщение об ошибке, говорящее, что нет класса "SDCU \ GeneralBundle \ Entity \ DateTime".Я искал пространство имен DateTime, но безуспешно ... есть идеи?

Ответы [ 2 ]

79 голосов
/ 03 декабря 2011

DateTime находится в глобальном пространстве имен, и, поскольку « имена классов всегда соответствуют текущему имени пространства имен », вы должны использовать \DateTime.

или импортировать пакет, используя:

use \Datetime;
21 голосов
/ 03 декабря 2011

Лучшим решением для использования классов в глобальных пространствах имен является ключевое слово «use» вместо «\» перед классом.

namespace SDCU\GeneralBundle\Entity;
use \DateTime;

class Country
{
   public function __construct(){
       $this->insertedAt = new DateTime();
   }
}
...