【发布时间】:2014-07-03 18:33:03
【问题描述】:
我在src\trollmaster\TrollBundle\Services\DefaultService.php做了服务
namespace trollmaster\TrollBundle\DefaultService;
class DefaultService
{
protected $example;
protected function exampleFunction()
{
return null;
}
}
我的资源\config\services.yml:
services:
trollmaster.default_service:
class: trollmaster\TrollBundle\DefaultService
并且命令php app/console container:debug 正确返回了我的服务名称,但是当我想在控制器的构造中调用此服务时:
$this->DefaultService = $this->get("trollmaster.default_service");
我看到了这个错误:
Error: Call to a member function get() on a non-object
我做错了什么?
编辑:
当我想将控制器定义为服务时
/**
* @Route(service="DefaultController")
*/
class DefaultController
我收到错误:
ClassNotFoundException: Attempted to load class "DefaultController" from namespace "trollmaster\TrollBundle
【问题讨论】:
-
您的控制器是否扩展了控制器类?就是那个类有
get方法 -
你想达到什么目的?
-
只在Controller中访问我的服务:$this->DefaultService.
标签: php symfony service dependency-injection