如何在其他服务中呈现没有类的表单?

aci*_*cid 0 php forms symfony

我想在我的服务中生成一个无类表单.

我这样做的方式是:

class StepSummary implements StepInterface 
{
    public function __construct($container)
    {
        $this->container = $container;
    }

    public function getVariables()
    {
        $form = $this->container->get('form.factory')->createBuilder('text')
            ->add('accept')
            ->getForm();

        return array('form' => $form->createView());
    }
}
Run Code Online (Sandbox Code Playgroud)

API中,我发现我需要将表单类型传递给FormBuilder- 我没有找到任何引用,所以我放了虚构的text字符串.现在它以这种方式呈现表单:

<input type="text" id="text" name="text" required="required" />
Run Code Online (Sandbox Code Playgroud)

显然没有提到该accept领域.

aci*_*cid 5

控制器的createForm()方法在这里非常有用:

    public function createFormBuilder($data = null, array $options = array())
    {
        return $this->container->get('form.factory')->createBuilder('form', $data, $options);
    }
Run Code Online (Sandbox Code Playgroud)

所以解决方案是:

$form = $this->container->get('form.factory')->createBuilder('form')
            ->add('accept')
            ->getForm();
Run Code Online (Sandbox Code Playgroud)