У меня возникают проблемы с Symfony2. А именно, как использовать функцию __construct(). Официальная документация ужасно плоха!
Я хочу иметь возможность использовать следующее:
public function __construct()
{
parent::__construct();
$user = $this->get('security.context')->getToken()->getUser();
}
Как я могу получить следующую ошибку:
Неустранимая ошибка: невозможно вызвать конструктор в /Sites/src/DEMO/DemoBundle/Controller/Frontend/HomeController.php в строке 11
Строка 11 - "parent:: __ construct();"
Я удалил его и получил следующую, новую ошибку
Неустранимая ошибка: вызов функции-члена get() для не-объекта в /Sites/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php в строке 242
Я думаю, мне, возможно, понадобится настроить ContainerInterface DIC, но я не знаю, как это сделать (я пробовал и терпел неудачу, жалко)
Любые идеи?
Обновить. Пробовал сменить расширение ContainerAware и получил эту ошибку:
Неустранимая ошибка: класс DEMO\DemoBundle\Controller\Frontend\HomeController не может распространяться на интерфейс Symfony\Component\DependencyInjection\ContainerAwareInterface в /Sites/src/DEMO/DemoBundle/Controller/Frontend/HomeController.php в строке 43
Используя следующий код в контроллере:
<?php
namespace DEMO\DemoBundle\Controller\Frontend;
use Symfony\Component\DependencyInjection\ContainerAware;
class HomeController extends ContainerAwareInterface
{
protected $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}