Сервис вызовов с опциями в Zend Framework 3

В ZF3 я вызываю фабрику форм из контроллера, используя эту запись:

    $form = $this->formManager->get(myForm::class);

не

    $form = new myForm();

На заводе я использую то, что ZF3 рекомендует для метода:

    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
{
//...
}

Я предполагаю, что $options массив предназначен для передачи параметров в функцию. Как мне заполнить $options массив в контроллере?

2

Решение

Я думаю FormManager выше также дитя ServiceManager, Итак, вместо использования get() как это

$form = $this->formManager->get(myForm::class);

Я думаю, что вы можете использовать build(), Вот пример

$form = $this->formManager->build(myForm::class, $options);

И параметры должны быть переданы в заводской форме

public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
{
return MyForm($options);
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]