Zend framework2 可捕获的致命错误:Zend\Form\View\Helper\FormLabel类的对象

Zend framework2 可捕获的致命错误:Zend\Form\View\Helper\FormLabel类的对象,zend-framework2,zend-form,php,Zend Framework2,Zend Form,Php,可捕获的致命错误:Zend\Form\View\Helper\FormLabel类的对象 无法在中转换为字符串 (…)\module\Application\view\Application\produtos\form.phtml联机 二, form.phtml <?php echo $this->form()->openTag($form);?> <?php echo $this->formLabel($form->get('nome_produto'

可捕获的致命错误:Zend\Form\View\Helper\FormLabel类的对象 无法在中转换为字符串 (…)\module\Application\view\Application\produtos\form.phtml联机 二,

form.phtml

<?php echo $this->form()->openTag($form);?>
<?php echo $this->formLabel($form->get('nome_produto'));?>
<?php echo $this->formElement($form->get('nome_produto'));?>
<?php echo $this->formErrors($form->get('nome_produto'));?>
<?php echo $this->form()->closeTag($form);?>
ProdutoForm.php

    <?php

namespace Application\Form;

use Zend\Form\Form;
use Zend\Form\Element\Text;

class ProdutoForm extends Form
{
public function __construct($name = null) {
    parent::__construct('produto');

    $nome = new Text('nome_produto');
    $nome->setLabel('Nome: ')
         ->setAttributes(array(
            'class' => 'input-mediun'
         ));
    $this->add($nome);

是的,那些表单视图助手应该有更好的错误检测能力。我猜
$form->get('nome\u produto')
正在返回
null
。因此,
FormLabel
视图辅助对象只是返回自身,因为它没有实际渲染的内容。然后,
echo
命令尝试将视图辅助对象强制转换为字符串

仔细检查元素名称,确保从表单中获得正确的项

    <?php

namespace Application\Form;

use Zend\Form\Form;
use Zend\Form\Element\Text;

class ProdutoForm extends Form
{
public function __construct($name = null) {
    parent::__construct('produto');

    $nome = new Text('nome_produto');
    $nome->setLabel('Nome: ')
         ->setAttributes(array(
            'class' => 'input-mediun'
         ));
    $this->add($nome);