1
嗨,我有2個(或以上)控制器我的主控制器是:symfony的訪問對象
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)
我該怎麼辦?
但這種方法必須運行絲毫路徑'/ {令牌}'這是電報僵屍網絡掛接 –
我離開了路線註解,因爲我知道沒有關於你的應用,也沒有你的路由。如果您共享其他控制器,或者至少您想要使用相同服務的操作,這可能會有所幫助。無論如何,重點是您可以從任何有權訪問容器的應用程序服務容器中獲取bot。這很強大,但在測試時需要大量的嘲弄。因此,通過構造函數注入依賴關係是更好的選擇(儘管如此)。 – localheinz
我使我的主控制器是這樣的: '$ bot = $ this-> container-> get('telegram_bot_api'); $ bot-> changeBot('310491898:AAGo2EBRaf083tH0gD8beESDhWW-1rEpMS4','bot'); \t new TestController($ bot); \t回新的響應( 「你好字」);' 和我的我的TestController有這樣的代碼: '類擴展的TestController DefaultController { \t私人$ BOT; \t public function __construct($ bot){ \t \t $ this-> bot = $ bot; \t} \t公共功能的indexAction() { \t的var_dump($這 - > bot-> getMe()); return; } }' 是真的嗎? –