ti-enxame.com

PHP Classe DateTime De espaço para nome

Estou usando a estrutura symfony2 e quero usar a classe DateTime do PHP (a versão do PHP é 5.3).

Aqui a declaração:

namespace SDCU\GeneralBundle\Entity;

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

Mas, ao executar esse construtor, recebo um erro dizendo que não há classe "SDCU\GeneralBundle\Entity\DateTime". Estive procurando pelo namespace do DateTime, mas sem sucesso ... alguma idéia?

45
Miguel Ribeiro

DateTime está no espaço para nome global e, como " os nomes das classes sempre são resolvidos com o nome atual do espaço para nome ", você precisa usar \DateTime.

Ou importe o pacote usando:

use \Datetime;
80
str

Uma solução melhor para o uso de classes em namespaces globais é a palavra-chave "use" em vez de "\" antes da classe.

namespace SDCU\GeneralBundle\Entity;
use \DateTime;

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