Php zf2问题中的占位符属性

Php zf2问题中的占位符属性,php,zend-framework2,Php,Zend Framework2,我无法获取占位符中的值,占位符为空 <div class="form_element"> <?php //$name = $form->get('name'); $this->placeholder('name')->data="text value"; $name= $form->get('name'); echo $formLabel->openTag().$name->getOption('labe

我无法获取占位符中的值,占位符为空

<div class="form_element">
<?php 

    //$name = $form->get('name');

    $this->placeholder('name')->data="text value";
    $name= $form->get('name');
    echo $formLabel->openTag().$name->getOption('label')." ";
    echo $this->formInput($name);
    echo $formLabel->closeTag();
?>
</div>

在代码中,您使用了
占位符
查看帮助程序(),但我看不出您试图从何处获取占位符的值。似乎您询问了表单输入字段占位符属性。如果为true,则必须将其指定为属性。查看帮助器
占位符
用于不同的任务

您的表单视图助手的用法有点奇怪。我可以推荐我的代码版本

<div class="form_element">

    <?php $name = $form->get('name'); ?>
    <?php $name->setAttribute('placeholder', 'placeholder text'); ?>

    <?php echo $formLabel($name); ?>
    <?php echo $formInput($name); ?>
</div>

更好的解决方案是在表单元素定义中设置占位符。例如:

<?php

use Zend\Form\Form;

class MyForm extends Form
{
    public function __construct()
    {
        parent::__construct('<FORM_NAME>');

        $this->add(array(
            'name' => 'name',
            'type' => 'Zend\Form\Element\Text',
            'attributes' => array(
                'placeholder' => '<PLACEHOLDER_TEXT>',
            ),
        ));
    }
}

在代码中,您使用了
占位符
查看帮助程序(),我看不出您试图从何处获取占位符的值。似乎您询问了表单输入字段占位符属性。如果为true,则必须将其指定为属性。查看帮助器
占位符
用于不同的任务

您的表单视图助手的用法有点奇怪。我可以推荐我的代码版本

<div class="form_element">

    <?php $name = $form->get('name'); ?>
    <?php $name->setAttribute('placeholder', 'placeholder text'); ?>

    <?php echo $formLabel($name); ?>
    <?php echo $formInput($name); ?>
</div>

更好的解决方案是在表单元素定义中设置占位符。例如:

<?php

use Zend\Form\Form;

class MyForm extends Form
{
    public function __construct()
    {
        parent::__construct('<FORM_NAME>');

        $this->add(array(
            'name' => 'name',
            'type' => 'Zend\Form\Element\Text',
            'attributes' => array(
                'placeholder' => '<PLACEHOLDER_TEXT>',
            ),
        ));
    }
}