php不寫(xiě)閉合標(biāo)簽的好處
最早這個(gè)概念是從Drupal中接觸到的,一開(kāi)始有點(diǎn)不習(xí)慣——為什么不寫(xiě)閉合標(biāo)簽?zāi)??這感覺(jué)很不完美啊,對(duì)于有強(qiáng)迫癥的人來(lái)說(shuō)很不適應(yīng)嘛!后來(lái),在工作中碰到了因?yàn)闃?biāo)簽閉合而引起的問(wèn)題,才開(kāi)始不寫(xiě)閉合標(biāo)簽。
參閱了一些文章,對(duì)PHP閉合標(biāo)簽的總結(jié)如下:
好處:如果這個(gè)是一個(gè)被別人包含的程序,沒(méi)有這個(gè)結(jié)束符,可以減少很多很多問(wèn)題,比如說(shuō):header, setcookie, session_start這些動(dòng)作之前不能有輸出,如果不小心在?> 后邊加了不可見(jiàn)字符(多余的空格、換行符)等頁(yè)面顯示,就會(huì)報(bào)"Header already sent"錯(cuò)誤,不寫(xiě)的話不會(huì)有此問(wèn)題。另,可以直接把光標(biāo)移到最后,接著編程。
壞處:在dreamweaver的視圖模式下,一團(tuán)糟。
關(guān)于PHP閉合標(biāo)簽官方解釋是:PHP閉合標(biāo)簽"?>"在PHP中對(duì)PHP的分析器是可選的。但是,如果使用閉合標(biāo)簽,任何由開(kāi)發(fā)者,用戶, 或者FTP應(yīng)用程序閉合標(biāo)簽后面的空格都有可能會(huì)引起多余的輸出、php錯(cuò)誤、之后的輸出無(wú)法顯示、空白頁(yè)。因此,所有的php文件應(yīng)該省略這個(gè)php閉合標(biāo)簽,一段注釋來(lái)標(biāo)明這是文件的底部并定位這個(gè)文件在這個(gè)應(yīng)用的相對(duì)路徑。這樣有利于你確定這個(gè)文件已經(jīng)結(jié)束而不是被刪節(jié)的。
在Zend的代碼規(guī)范中,也提到了這一點(diǎn):http://framework.zend.com/manual/1.12/en/coding-standard.php-file-formatting.html
代碼示例:
不當(dāng)?shù)?
<?php
echo "Here’s my code!";
?>
適當(dāng)?shù)?
echo "Here’s my code!";
/* End of file myfile.php */
/* Location: ./system/modules/mymodule/myfile.php */
因此,如果是純php code文件的話,應(yīng)該省略?>結(jié)束標(biāo)識(shí)符。
相關(guān)文章
PHP WebSocket的技術(shù)解析與使用指南詳解
在這篇文章中我們將深入討論從建立連接、綁定到監(jiān)聽(tīng)等各方面的操作,并提供易于理解和實(shí)踐的指導(dǎo),希望可以幫助大家掌握在PHP中使用WebSocket的關(guān)鍵概念和技術(shù)2024-02-02
Search File Contents PHP 搜索目錄文本內(nèi)容的代碼
這個(gè)類(lèi)可以用來(lái)搜索在給定的文本目錄中的文件。它可以給定目錄遍歷遞歸查找某些文件擴(kuò)展名的文件。2010-02-02
PHP字符過(guò)濾函數(shù)去除字符串最后一個(gè)逗號(hào)(rtrim)
PHP字符過(guò)濾函數(shù)去除字符串最后一個(gè)逗號(hào),用php自帶的函數(shù)比較容易解決2013-03-03
PHP使用stream_context_create()模擬POST/GET請(qǐng)求的方法
這篇文章主要介紹了PHP使用stream_context_create()模擬POST/GET請(qǐng)求的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了stream_context_create模擬POST/GET請(qǐng)求的原理,使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-04-04

