这是Zend Framework的Zend_View的错误吗?

时间:2013-09-11 01:24:28

标签: php zend-framework zend-form zend-view

View Helpers有一些初始助手,例如formButton和formText。

正如参考文献所说:

formText($ name,$ value,$ attribs):创建一个<input type="text" />元素。

但我在电脑上发现了不喜欢它的东西。我在视图文件中写下以下代码:

<?php 
echo $this->formText('email', 'you@example.com', array('size' => 32));
?>

HTML如下:

<input type="text" name="email" id="email" value="you@example.com" size="32">

最后没有'/'。它应该是:

<input type="text" name="email" id="email" value="you@example.com" size="32"/>

那有什么不对吗? 我的版本是ZF1.12和PHP5.4。

2 个答案:

答案 0 :(得分:3)

没有。 ZF会检查您附加到视图的文档类型是否为XHTML,并且只有在此情况下才会添加正斜杠。

查看Zend_View_Helper_HtmlElement :: getClosingBracket

if (!$this->_closingBracket) {
    if ($this->_isXhtml()) {
        $this->_closingBracket = ' />';
    } else {
        $this->_closingBracket = '>';
    }
}

return $this->_closingBracket;

答案 1 :(得分:1)

这不是一个错误。输出取决于文档的doctype。如果它是XHTML文档类型,它将输出/>,否则它将仅输出>以结束标记。

检查Zend_View_Helper_FormText类

....
// XHTML or HTML end tag?
    $endTag = ' />';
    if (($this->view instanceof Zend_View_Abstract) && !$this->view->doctype()->isXhtml()) {
        $endTag= '>';
    }
....