Symfony 您请求了一个不存在的服务

Symfony 您请求了一个不存在的服务,symfony,Symfony,我的服务有问题: parameters: gestion_conge.congeservice.class: Acme\GestionCongeBundle\Manager\CongeManager services: gestion_conge.congeservice.class: class: %gestion_conge.congeservice.class% arguments: [@doctrine.orm.entity_manager, "doctrine.

我的服务有问题:

parameters:
   gestion_conge.congeservice.class: Acme\GestionCongeBundle\Manager\CongeManager

services:
gestion_conge.congeservice.class:
    class: %gestion_conge.congeservice.class%
    arguments: [@doctrine.orm.entity_manager, "doctrine.orm.entity_manager", %%]
在我的控制器中,我有:

  public function addAction()
{
    $request = $this->get('request'); // On récupère l'objet request via le service container
    $conge = new Conge(); // On créé notre objet CONGE vierge

    $form = $this->get('form.factory')->create(new CongeType(), $conge); // On bind l'objet CONGE à notre formulaire CongeType

    if ('POST' == $request->getMethod()) { // Si on a posté le formulaire
        $form->bind($request);
            if ($form->isValid()) { // Si le formulaire est valide

                echo 'valide!!';
            $this->get('gestion_conge.congeservice')->saveConge($conge); // On utilise notre Manager pour gérer la sauvegarde de l'objet



            return $this->render('AcmeGestionCongeBundle:Default:index.html.twig');
        }
    }

    return $this->render(('AcmeGestionCongeBundle:Default:add.html.twig'),array('form' => $form->createView(), 'conge' => $conge)); // On passe à Twig l'objet form et notre objet conge
}
我得到一个错误,您请求了一个不存在的服务“gestion_conge.congeservice”


如何解决这个问题?

您已经将类参数和服务设置为相同的名称

class参数应保持为
gestion\u conge.congeservice.class
,而您的服务应更改为
gestion\u conge.congeservice

更新

parameters:
    // Your class parameter
    gestion_conge.congeservice.class: Acme\GestionCongeBundle\Manager\CongeManager

services:
    // Your service name, which is the same as the class parameter,
    // but you are requesting a service called "gestion_conge.congeservice"
    // 1. Service and parameter need to have different names
    // 2. You are not calling the service name that you have set
    gestion_conge.congeservice.class:
        class: %gestion_conge.congeservice.class%
        arguments: [@doctrine.orm.entity_manager, "doctrine.orm.entity_manager", %%]

我不明白!!您正在请求服务
gestion\u conge.congeservice
,但是您创建了一个名为
gestion\u conge.congeservice.class
的服务,该名称也是您用于类参数的名称。我已经更新了。谢谢,现在我遇到了另一个问题:加载的类名和声明的类名之间的大小写不匹配:Sqli\GestionCongeBundle\Manager\CongeManager与Sqli\GestionCongeBundle\Manager\CongeManager您的类
CongeManager
可能实际命名为
CongeManager