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
?