Appeler un service

Par Manuel Alvarez-Iglisias, il y a 8 ans


Bonjour tous le monde,

j'ai créé un service :

<?php namespace Logs\LogsBundle\Manager; use Doctrine\Common\Persistence\ObjectManager; use Logs\LogsBundle\Entity\Logs; use Symfony\Component\DependencyInjection\ContainerInterface; use Utilisateurs\UtilisateursBundle\Entity\Utilisateurs; class LogManager{ /** * @var ObjectManager */ private $em; /** * @var ContainerInterface */ private $container; public function __construct(ObjectManager $em, ContainerInterface $container) { $this->em = $em; $this->container = $container; } /** * Creation d'un log * * @param Utilisateurs $utilisateurs * @param string $description */ public function creationLog(string $description) { $user = $this->container->get("security.token_storage")->getToken()->getUser(); $log = new Logs(); $log->setDateCreation(new \DateTime()); $log->setUtilisateurs($user); $log->setDescription($description); $this->em->persist($log); $this->em->flush(); } }

Je l'ai déclaré dans service.yml

app.log.manager: class: Logs\LogsBundle\Manager\LogManager arguments: ['@doctrine.orm.entity_manager', '@service_container']

Mais quand je veux l'utiliser dans mon controller :

public function AddAction(Request $request) { $test = $this->get("app.log.manager"); $test->creationLog("je suis un log"); /*..........*/ }

j'obtiens l'erreur :

You have requested a non-existent service "app.log.manager".

Il me semble pourtant avoir tout fais, je comprends pas.
Cordialement.

2 réponses

slye44, il y a 8 ans

Salut, As-tu supprimé le contenu du répertoire cache (/var/cache) ?
L'erreur pourrais venir de là.

Manuel Alvarez-Iglisias, il y a 8 ans

Bonjour, non en fait je déclarais pas le service où il fallait. je le déclairais dans app/config/services.yml et non dans le fichier services.yml du bundle.