![](/img/trans.png)
[英]Why is Symfony2 (ezpublish5) not recognizing my controller as a service?
[英]Cannot get a service in my controller symfony2
当我想要获得我创建的服务时,我的控制器出现问题,当我在localhost时一切正常,但是当我将网站放入我的服务器时,我遇到了问题。
以下是在我的控制器中出错的行:
$myService = $this->get('Acme_test.service');
services.yml
:
services:
Acme_test.service:
class: Acme\testBundle\Services\Testservice
arguments: [%folder%, @service_container]
而错误:
ClassNotFoundException: Attempted to load class "Testservice" from namespace "Acme\TestBundle\Services" in /home/www/acme/app/cache/dev/appDevDebugProjectContainer.php line 736. Do you need to "use" it from another namespace?
我试图清除缓存,仍然有同样的错误!!
您需要将服务的嵌套设置为services.yml
文件中的services
节点,如:
services:
acme_test.service:
class: Acme\TestBundle\Service\TestService
arguments: [%folder%, @service_container]
我认为最好用小写写服务名称。 然后在控制器中获得服务,如:
$myService = $this->get('acme_test.service');
注:我认为你的意思是TestBundle
和TestService
首字母大写的名字
注意2:并且通常服务目录名称是Service
,所以检查你的命名空间,它需要是Acme\\TestBundle\\Service
,类名需要是TestService
而文件Acme\\TestBundle\\Service\\TestService.php
必须存在。
注3:手动清除缓存目录后,所有建议和修改完成后。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.