繁体   English   中英

来自其他控制器的symfony访问对象

[英]symfony access object from other controller

嗨,我有2个(或更多)控制器,我的主要控制器是:

class DefaultController extends Controller
{
    /**
     * @Route("/{token}")
     */
    public function indexAction($token)
    {
        $bot = $this->container->get('telegram_bot_api');
        $bot->changeBot($token, 'bot');

        return new Response("hello word");
    }
}

我想访问另一个控制器中的机器人对象,但我不想使用forward()因为我必须创建类似T1Action($bot)T2Action($bot)

我能怎么做?

无论您在哪里访问应用程序服务容器,都可以从容器中获取服务:

class DifferentController extends Controller
{
    public function differentAction()
    {
        $bot = $this->container->get('telegram_bot_api');

        // ...
    }
}

或者,我认为那是更好的选择,您可以将控制器作为服务连接,并通过构造函数将机器人作为依赖项注入。

供参考,请参阅:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM