Zend_Form_Element本身的setLabel

时间:2011-03-10 04:01:22

标签: php zend-framework zend-form

我通常需要2行来创建元素并设置其标签。

$name = new Zend_Form_Element_Text('name');
$name->setLabel('name');

是否有不同的语法允许我同时设置标签,可能作为Zend_Form_Element_Text的选项,所以我最终只有1行?

2 个答案:

答案 0 :(得分:3)

你可以这样做:

$name = new Zend_Form_Element_Text('name',array('label' => 'name'));

答案 1 :(得分:2)

你可以这样做:

$name = new Zend_Form_Element_Text('name', array('label' => 'Your name'));

但将它保持在一条线上真的那么重要吗?通常,我会这样做:

// Inside a form class, so $this represents the form itself
$name = $this->addElement('text', 'name', array(
    'label'        => 'Your name',
    'description'  => 'Type your name here',
    'filters'      => array(
        'StringTrim', 
        // other filters
    ),
    'validators'   => array(
        'NotEmpty',
        // other validators
    ),
));