この質問はすでにここで回答されていることを知っています。しかし、これは私にはうまくいきません。Form は PluginLoader を使用して生成されます。
$formClass = Zend_Registry::get('formloader')->load('Payment');
$form = new $formClass(array('someval' => $my_arr));
Payment.php:
class Form_Payment extends Zend_Form
{
protected $_someval = array();
public function init()
{
$this->setAction('payment/save');
//....
$this->addElement('multiCheckbox', 'store_id', array('label' => 'Someval:', 'required' => true, 'multiOptions' => $this->getSomeval()))
}
public function setSomeval($someval) {
$this->_someval = $someval;
}
public function getSomeval() {
return $this->_someval;
}
}
ご覧のとおり、load メソッドはクラス名のみを返すため、new $formClass();
等しいのnew Form_Payment()
ですが、なぜこれがパラメーターを受け入れないのですか?