PHP la Classe DateTime pas trouvé
Manque quelque chose lors de la déclaration d'un objet DateTime dans PHP 5.3.8
Je reçois une chaîne JSON avec une date déterminée du temps qui est passé à mon php contrôleur.
Pour une raison quelconque, je ne suis pas arriver à être mappé sur un objet DateTime en php. Mais, un peu bizarrement. Voir les images suivantes:
-
Comme vous pouvez le voir dans les Expressions de la Fenêtre (en haut à droite), AVANT l'étape, je suis en vérifiant que new DateTime(mavariable) est en train d'amener et de transformer correctement ce dont j'ai besoin. Dans le premier modèle, la variable à transmettre à DateTime constructeur. La deuxième montre, l'expression newDateTime(mavariable) déjà mappé comme DateTimeObject. Apparemment, une amende allant jusqu'à ici.
-
Mais, malheureusement, quand je vais de l'avant et appuyez sur la touche F6, l'exemption suivants (voir également l'image ci-dessous) est jeté:
Fatal error: Class 'Acme\StoreBundle\Repository\DateTime' not found in /Users/pgbonino/Sites/Symfony/src/Acme/StoreBundle/Repository/HistoryRepository.php on line 19 Call Stack: 0.0201 693568 1. {main}() /Users/pgbonino/Sites/Symfony/web/app_dev.php:0 0.0267 2106576 2. Symfony\Component\HttpKernel\Kernel->handle(???, ???, ???) /Users/pgbonino/Sites/Symfony/web/app_dev.php:24 0.0377 2649176 3. Symfony\Bundle\FrameworkBundle\HttpKernel->handle(???, ???, ???) /Users/pgbonino/Sites/Symfony/app/bootstrap.php.cache:547 0.0378 2650832 4. Symfony\Component\HttpKernel\HttpKernel->handle(???, ???, ???) /Users/pgbonino/Sites/Symfony/app/cache/dev/classes.php:4879 0.0378 2650832 5. Symfony\Component\HttpKernel\HttpKernel->handleRaw(???, ???) /Users/pgbonino/Sites/Symfony/app/cache/dev/classes.php:3875 0.1574 5562232 6. call_user_func_array(???, ???) /Users/pgbonino/Sites/Symfony/app/cache/dev/classes.php:3905 0.1574 5562600 7. Acme\StoreBundle\Controller\HistoryController->saveTestAction() /Users/pgbonino/Sites/Symfony/app/cache/dev/classes.php:3905 0.1694 5739032 8. Acme\StoreBundle\Repository\HistoryRepository->saveTestInHistory(???, ???) /Users/pgbonino/Sites/Symfony/src/Acme/StoreBundle/Controller/HistoryController.php:33
Donc, étrangement, la Montre des Expressions de la fenêtre à partir de l'Éclipse n'est pas de travail tout comme le moteur d'exécution et/ou vice-versa.
Bien sûr, je préférerais que ce soit le contraire (Il a travaillé dans l'exécution et non pas dans la fenêtre watch 🙂 ).
Alors, une idée?
OriginalL'auteur ElPiter | 2012-05-31
Vous devez vous connecter pour publier un commentaire.
Vous vous trouvez actuellement dans la
Acme\StoreBundle\Repository\DateTime
napespace. Pour répondre à l'espace de noms par défaut, dans ce cas, vous avez besoin de mettre de pointe\
avant de votre nom de classe, commedonc
vais essayer de trouver
class
définition dansfoo
espace de noms.Et
vais essayer de trouver
class
définition au sein de l'espace de noms global.Comme alternative, vous pouvez importer la classe à l'aide de
ou de créer des alias (dans le cas où si vous avez déjà la classe avec le même nom dans l'actuelle nouvelle-écosse):
vous pouvez aussi mettre un
use DateTime;
sur le dessus, puis vous êtes capable de l'utiliser sans slash.Lee: très bonne note!
OriginalL'auteur zerkms
Je suppose que Vous utilisez les espaces de noms et d'essayer de les utiliser DateTime (par rapport à l'espace de noms courant) au lieu de \DateTime (pleinement qualifié de la classe de nom)
OriginalL'auteur marcelog