コントローラー内のサービスコンテナーを使用するのではなく、純粋なコンストラクターの依存性注入を介して、コントローラーをサービスに依存させる機会はありますか?
私はこのようにコントローラーを書きたいと思います:
<?php
class ArticleController extends \Symfony\Bundle\FrameworkBundle\Controller\Controller
{
private $articleFacade;
private $articleRepository;
public function __construct(ArticleFacade $articleFacade, ArticleRepository $articleRepository)
{
$this->articleFacade = $articleFacade;
$this->articleRepository = $articleRepository;
}
public function indexAction()
{
...
}
}
return new $controller
残念ながら、Symfony ControllerResolverは、ServiceContainerではなく、単純な呼び出し を介してコントローラーの新しいインスタンスを実行します。