在哪里定义 addElement 方法 zend 2


$form = new Zend_Form();
$form->addElement('text', 'fname', array('belongsTo' => 'user'));

我需要知道在哪里定义 addElement 方法?我已经搜索了\vendor\ZF2\library\Zend([\Form](目录,但找不到此方法!如果没有这样的方法,那么请帮助我了解上面的两行是如何工作的,以及这种方法的其他数组和参数是什么。

编辑:谢谢脆。实际上我正在尝试在 zf2 中制作一个输入数组,例如

<input name="val[one]" type="text" />
<input name="val[two]" type="text" />
<input name="val[three]" type="text" />

或者至少...喜欢这个

<input name="val[0]" type="text" />
<input name="val[1]" type="text" />
<input name="val[2]" type="text" />

我找到了一个带有上述代码的示例,但由于它是 zf1,它不起作用。

在 ZF2 中,编程表单创建已从 ZF1 更改。不再有addElement函数,而是使用$form->add($element(添加一个元素;

在 ZF2 中创建表单的基本步骤如下:

  1. 创建表单元素
  2. 创建表单
  3. 向表单添加元素

创建表单元素:

use ZendFormElement;
use ZendFormForm;
$name = new Element('name');
$name->setLabel('Your name');
$name->setAttributes(array(
    'type'  => 'text'
));
$send = new Element('send');
$send->setValue('Submit');
$send->setAttributes(array(
    'type'  => 'submit'
));

创建表单:

$form = new Form('contact');

将元素添加到表单:

$form->add($name);
$form->add($send);

但是在 ZF2 中,另一种方法是使用工厂从数组配置生成表单:

use ZendFormFactory;
$factory = new Factory();
$form    = $factory->createForm(array(
    'hydrator' => 'ZendStdlibHydratorArraySerializable',
    'elements' => array(
        array(
            'spec' => array(
                'name' => 'name',
                'options' => array(
                    'label' => 'Your name',
                ),
                'type'  => 'Text',
            )
        ),
        array(
            'spec' => array(
                'name' => 'send',
                'type'  => 'Submit',
                'attributes' => array(
                    'value' => 'Submit',
                ),
            ),
        ),
    ),
));

然后,从视图中引用表单,并使用表单视图帮助程序呈现表单。

引用:

http://framework.zend.com/manual/2.3/en/modules/zend.form.quick-start.htmlhttps://zf2.readthedocs.org/en/develop/modules/zend.form.advanced-use-of-forms.htmlhttp://akrabat.com/category/zend-framework-2/

最新更新