有人能解釋爲什麼這是有用的,如果你永遠不能使用HtmlHelper關閉標籤?CakePHP HtmlHelper關閉標籤
// No text specified.
<?php
echo $this->Html->tag('span', null, array('class' => 'welcome'));
?>
// Output
<span class="welcome">
在一個理想的世界裏,有一些方法來創建一個結束標記,如</span>
有人能解釋爲什麼這是有用的,如果你永遠不能使用HtmlHelper關閉標籤?CakePHP HtmlHelper關閉標籤
// No text specified.
<?php
echo $this->Html->tag('span', null, array('class' => 'welcome'));
?>
// Output
<span class="welcome">
在一個理想的世界裏,有一些方法來創建一個結束標記,如</span>
好了,「有用」取決於它如何被使用。
首先,沒有HtmlHelper->closeTag
函數,因爲標記函數包圍了內部的字符串(或元素)。例如
echo $this->Html->tag('span', "i'm a span", array('class' => 'welcome'));
// Output
<span class="welcome">i'm a span</span>
有真的,如果上爲HtmlHelper打開和關閉功能標籤內有closeTag功能是沒有意義的。
很明顯,一個未封閉的<span>
標籤也沒有那麼有用,而且這個例子不是最好的一個用來展示某種用途的東西(我知道它在蛋糕文檔中,而不是指責你)。
由於HTML不是XML,因此有時會出現未封閉的標籤(請檢查HTML specs)。在該鏈路是什麼被定義爲空隙元件,這是一個列表:
區域,基,BR,山口,命令,嵌入,小時,IMG,輸入,密鑰生成,鏈路,間PARAM ,源,跟蹤,WBR
小的方式下該鏈接的參考,它是寫
虛空元素只有一個開始標記;不能爲void元素指定結束標記。
Soooo ....你可能想這樣做。你可以寫一個複雜的,更多的字符數昂貴的命令<br>
。也許你想寫在PHP中的整個.cpt
視圖和正常字符串沒有回聲,只是純粹的PHP與HtmlHelper的優點(如轉義的HTML字符)。
所以,從理論上講,你可以做
echo $this->Html->tag('br', null, array());
echo $this->Html->tag('link', null, array());
,這將是有效的標籤。爲什麼要這麼做? *聳肩*誰知道。但是,你有選擇不好嗎?
此外,HtmlHelper可能使用該函數內部編寫其他標籤。我的意思是,也許HtmlHelper->img()
使用HtmlHelper->tag('img', null)
,並且由於標記功能是公開的,所以您也會看到這個看似無用的選項。
我知道它聽起來並沒有那麼多「有用」,但它的數量還是很小的......
謝謝。我猜你的最後一點是最「有用」的情況,這就是它的用途。顯然你對此有一些想法,所以我感謝你。非常深思熟慮。 – zmonteca