Я пытаюсь сделать некоторые пользовательские вещи поверх SonataAdmin, чтобы они соответствовали моим потребностям.
У меня есть абстрактный класс, расширяющий стандартное значение AbstractAdmin
из Sonata. В этом абстрактном классе есть другие методы, но один из них вызывает ошибку:
abstract class SecureAdmin extends AbstractAdmin implements CustomDataInterface
public function getCurrentUser()
{
return $this->getConfigurationPool()->getContainer()->get('security.token_storage')->getToken()->getUser();
}
Вызов функции getContainer для null
Это означает, что getConfigurationPool () Нуль, но почему?
CustomDataInterface
содержит только объявление методов, которое необходимо использовать в конкретной реализации SecureAdmin
, поэтому я думаю, что здесь это не имеет значения.
В конкретной реализации у меня будет что-то подобное
class SiteAdmin extends SecureAdmin
{
private $adminname = "Site";
/**
* @var $current_user
*/
private $current_user;
public function __construct($code, $class, $baseControllerName)
{
parent::__construct($code, $class, $baseControllerName);
$this->current_user = $this->getCurrentUser();
}
}
Спасибо за вашу помощь.