什么是zend dojo形式组合选择自动填充函数语法?

时间:2011-07-18 06:39:23

标签: php zend-framework dojo

我正在使用zend dojo表单,并希望填写1911年至2011年的comboselect选项。 我在php手册中查找了这个函数以自动填充,但它在ZF dojo表单中不起作用。 我收到此错误消息

解析错误:第13行的Signup.php中的语法错误,意外'(',期待','或';'

  //options declaration
 protected $_yearOptions = array_fill(

1911,101,'year');



 //adding combo element

  $this->addElement(
    'ComboBox',
    'comboyr',
    array(
    'label' =>'Birthyear',
    'value' =>'',
    'autocomplete' => false,
    'multioptions' => $this->_yearOptions,

    )

    );

1 个答案:

答案 0 :(得分:0)

Signup.php文件中的第13行必须是受保护的$ _yearOptions属性。在类中设置属性时,不能使用函数。你必须这样做:

protected $_yearOptions = array();

protected function _getYearOptions () {
    if ( empty($this->_yearOptions) ) { $this->_yearOptions = array_fill(1911,101,'year'); }
    return $this->_yearOptions;
}

然后在你的addElement中你会有这一行而不是

'multioptions' => $this->_getYearOptions(),

你也可以使用与array_fill不同的东西。我不认为结果是你想要的。