使用 Zend Framework 3 中的选项调用服务

Call Service With Options In 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 数组?

我觉得上面的FormManager也是child的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);
}