Вместо расширения стандартного контроллера я хотел бы вставить 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 }