我有这个 html 部分用于组合一个 html 选项框,当我知道我需要创建的 html 选项框的数量时,它的效果很好。
控制器:
$formView = new ViewModel();
$formView->setTemplate('bns/questionnaires/forms/simple_scale_radio_form');
$optionView = new ViewModel(array('name'=>'name 1'));
$optionView->setTemplate('bns/questionnaires/forms/options_personality_profile');
$formView->addChild($optionView, 'option_0');
看法:
<?php echo $this['option_0'] ?>
但是,现在我正在从数据库中动态构建这个 html 选项框,如果我想这样做,我正在考虑使用以下代码
控制器:
$formView = new ViewModel(array('count'=>3));
$formView->setTemplate('bns/questionnaires/forms/simple_scale_radio_form');
$optionView = new ViewModel(array('name'=>'name 1'));
$optionView->setTemplate('bns/questionnaires/forms/options_personality_profile');
$formView->addChild($optionView, 'option_0');
$optionView = new ViewModel(array('name'=>'name 2'));
$optionView->setTemplate('bns/questionnaires/forms/options_personality_profile');
$formView->addChild($optionView, 'option_1');
$optionView = new ViewModel(array('name'=>'name 3'));
$optionView->setTemplate('bns/questionnaires/forms/options_personality_profile');
$formView->addChild($optionView, 'option_2');
看法:
<?php
for ( $i = 0; $i < $count; $i++) {
echo $this['option_' . $i];
}
?>
但是,PHP 会抛出这个错误:Cannot use object of type Zend\View\Renderer\PhpRenderer as array
我有哪些选择?
提前致谢!
干杯,
贾斯汀