48 votes

Espace de nom de la classe DateTime de PHP

J'utilise le framework symfony2 et je veux utiliser la classe DateTime de PHP (la version de PHP est 5.3).

Voici la déclaration :

namespace SDCU\GeneralBundle\Entity;

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

Mais, en exécutant ce constructeur, j'obtiens une erreur disant qu'il n'y a pas de "SDCU". \GeneralBundle\Entity\DateTime classe ". J'ai cherché l'espace de noms de DateTime mais sans succès... une idée ?

90voto

str Points 2352

DateTime est dans l'espace de noms global, et comme " les noms de classe sont toujours résolus par le nom de l'espace de nom courant. "vous devez utiliser \DateTime .

Ou importer le paquet en utilisant :

use \Datetime;

22voto

Glavić Points 13021

Une meilleure solution pour l'utilisation des classes dans les espaces de noms globaux est le mot clé "use" au lieu de "\" devant la classe.

namespace SDCU\GeneralBundle\Entity;
use \DateTime;

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X