Symfony2: доступ к контейнеру в хранилище - PullRequest
3 голосов
/ 04 октября 2011

Я пытаюсь показать ориентированный на пользователя список выбора в форме, и мне не удается получить доступ к контейнеру для получения текущего пользователя.

Я не вижу, как его получитьРепозиторий ни в чем не указан.

Любая идея?

Ответы [ 2 ]

12 голосов
/ 10 октября 2011

Допустим, вы создали класс FormType.Вы не знаете, как передать контейнер в этом объекте.

Создайте теперь свой собственный тип, расширенный от FormType, и передайте контейнер через конструктор

class MyType extends FormType
{
    private $container;

    public function __construct(ContainerInterface $container)
    {
        $this->container = $container;
    }
}

В вашем config.yml,определите свой новый тип

mytype:
  class: ...\MyType
  arguments: ["@service_container"]
  tags:
      - { name: form.type }

Теперь используйте MyType вместо FormType во всех ваших контроллерах

1 голос
/ 04 октября 2011

Возможно, вы можете запросить объект User в контроллере и передать его в хранилище в конструкторе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...