0

ビュー ヘルパーには、formButton や formText などのいくつかの初期ヘルパーがあります。

参照が言ったように:

formText($name, $value, $attribs):<input type="text" />要素を作成します。

しかし、私の PC に似ていないものを見つけました。ビューファイルに以下のコードを記述します。

<?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 です。

4

2 に答える 2

3

いいえ。ZF は、ビューに追加した Doctype が XHTML であるかどうかをチェックし、これが true の場合にのみスラッシュを追加します。

Zend_View_Helper_HtmlElement::getClosingBracket を確認してください

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

return $this->_closingBracket;
于 2013-09-11T01:41:05.300 に答える
1

バグではありません。出力はドキュメントの doctype によって異なります。XHTML doctype の場合は を出力し、それ以外の場合はタグを終了する/>だけを出力します。>

Zend_View_Helper_FormText クラスを確認する

....
// XHTML or HTML end tag?
    $endTag = ' />';
    if (($this->view instanceof Zend_View_Abstract) && !$this->view->doctype()->isXhtml()) {
        $endTag= '>';
    }
....
于 2013-09-11T01:42:40.503 に答える