将服务设置为子控制器

Bij*_*tha 5 php symfony

我有两个包A和B. A是B的父包'A'有AController,带有3个参数的构造方法,定义为服务.

然后我在Bundle'B'中有BController,它扩展了Acontroller.我需要调用B控制器的方法.我也为BController做过服务.但问题是它在__construct中丢失参数1会引发错误.

有什么我错过了.

Class AController{
    public function __construct(A,B,C)
    {
        .......
    }
}
Run Code Online (Sandbox Code Playgroud)

为Acontroller服务

controller_A:
    class: A\Bundle\ABundle\Controller\AController
    arguments:
        - @A
        - "%a.config%"
        - @form.factory
Run Code Online (Sandbox Code Playgroud)

对于捆绑B.

Class BController extends Acontroller{
    .....
}
Run Code Online (Sandbox Code Playgroud)

为Bcontroller服务

controller_B:
    class: B\Bundle\BBundle\Controller\BController
    arguments:
        - @B
        - "%B.config%"
        - @form.factory
Run Code Online (Sandbox Code Playgroud)

Gnu*_*cki 4

这看起来像是一个路由问题。您是否设置了类似以下内容:

/**
 * @Route(service="your_bundle.b_controller")
 */
class BController extends Acontroller{
Run Code Online (Sandbox Code Playgroud)

此处的说明: http: //symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/routing.html#controller-as-service