我试图在控制器中引用教义:
这是我的服务:
services:
default_controller:
class: Catalog\WebBundle\Controller\DefaultController
arguments: [@doctrine.orm.entity_manager]
控制器:
public function __construct(EntityManager $em)
{
}
CRITICAL - 未捕获的PHP异常ErrorException:" Catchable Fatal Error:传递给Catalog \ WebBundle \ Controller \ DefaultController :: __ construct()的参数1必须是Doctrine \ ORM \ EntityManager的实例,没有给出,在第2783行的/home/katalogas/domains/example.com/public_html/app/cache/dev/classes.php中调用,并在/home/katalogas/domains/example.com/public_html/src/Catalog/WebBundle/中定义Controller / DefaultController.php第23行"在/home/katalogas/domains/example.com/public_html/src/Catalog/WebBundle/Controller/DefaultController.php第23行 上下文:{"例外":"对象(错误异常)"}
我确定我的service.yml已加载,因为当我输入错误时 - 得到解析错误。
答案 0 :(得分:2)
您可能已使用控制器表示法为路径设置控制器,例如:SomeBundle:SomeController:SomeAction
您必须在路由中使用服务表示法。
# when defining your route in yml
...
{ _controller: default_controller:someAction ...}
答案 1 :(得分:1)
我使用它的语法。
arguments:
- @doctrine.orm.default_entity_manager