標準コントローラを拡張する代わりに、クラスの 1 つに Twig を注入したいと考えています。
コントローラ:
namespace Project\SomeBundle\Controller;
use Twig_Environment as Environment;
class SomeController
{
private $twig;
public function __construct( Environment $twig )
{
$this->twig = $twig;
}
public function indexAction()
{
return $this->twig->render(
'SomeBundle::template.html.twig', array()
);
}
}
そして、services.yml
私は次のものを持っています:
project.controller.some:
class: Project\SomeBundle\Controller\SomeController
arguments: [ @twig ]
私が得ているエラーは次のとおりです。
SomeController::__construct() は Twig_Environment のインスタンスでなければなりません。何も指定されていません
しかし、私は@twig
経由で渡していconfig
ます。何が間違っているのかわかりません。
編集:
正しいコードを追加する - これが問題を修正したものです:
// in `routing.yml` refer to the service you defined in `services.yml`
project.controller.some
project_website_home:
pattern: /
defaults: { _controller: project.controller.some:index }