在ZF2中的Form中创建模型实例,如ZF1?

时间:2013-04-18 06:05:33

标签: zend-framework zend-framework2

在ZF1中,可以创建模型的实例,也可以从任何表单类访问其属性。

class Application_Form_Drydepot extends Zend_Form
{

     $model = new Application_Model_DbTable_DrydepotModel();
     $List   = $model ->formationSelect();
     array_unshift($List, array('key'   => '', 'value' => '--Please Select--'));


    $id = new Zend_Form_Element_Hidden('id');
    $id->addFilter('Int')
            ->setDecorators($this->elementDecoration);


    $formation = new Zend_Form_Element_Select('formation_id');
    $formation->setLabel('Formation Name')
            ->setRequired(true)
            ->setAttrib('id', 'formation')
            ->setAttrib('class', 'required')
            ->addValidator('NotEmpty', true)
            ->setMultiOptions($List)
            ->setDecorators($this->elementDecoration);
}

在这里$ model可以直接调用但很容易使用但是zf2很难。我没有成功做到这一点。在ZF2中我该如何进行相同的操作。

1 个答案:

答案 0 :(得分:0)

另一种方式如下:the documentation

程序化表格创建

ZF2编码接近ZF1

use Zend\Captcha;
use Zend\Form\Element;
use Zend\Form\Form;

$captcha = new Element\Captcha('captcha');
$captcha
    ->setCaptcha(new Captcha\Dumb())
    ->setLabel('Please verify you are human');

$form = new Form('my-form');
$form->add($captcha);