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.
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.
Salut, As-tu supprimé le contenu du répertoire cache (/var/cache) ?
L'erreur pourrais venir de là.