转载自: http://www.php100.com/manual/ZendFramework/zend.form.forms.html
在用zend form时, 发现有addElement和createElement两种, 那它们的区别是:
addElement()返回一个zend_form对象, 而不是元素. 这样做允许把多个addElement()方法链接起来.
createElement()返回一个元素, 但是注意的是: createElement()不把元素加到表单上.
在内部(zf的源码), addElement()实际上用createElement()来生成元素后把它加到表单上.
addElement()的例子:
<?php // Using an element instance: $element = new Zend_Form_Element_Text('foo'); $form->addElement($element); // Using a factory // // Creates an element of type Zend_Form_Element_Text with the // name of 'foo': $form->addElement('text', 'foo'); // Pass label option to the element: $form->addElement('text', 'foo', array('label' => 'Foo:')); ?>
如果, 你只想生成一个元素并不想把它加到表单上(例如,你想利用众多的用表单注册的插件路径,但稍后把这些对象加到子表单上)。createElement()
方法可以完成这些:
<?php // $username becomes a Zend_Form_Element_Text object: $username = $form->createElement('text', 'username'); ?>