php不寫閉合標(biāo)簽的好處
最早這個(gè)概念是從Drupal中接觸到的,一開始有點(diǎn)不習(xí)慣——為什么不寫閉合標(biāo)簽?zāi)??這感覺很不完美啊,對(duì)于有強(qiáng)迫癥的人來說很不適應(yīng)嘛!后來,在工作中碰到了因?yàn)闃?biāo)簽閉合而引起的問題,才開始不寫閉合標(biāo)簽。
參閱了一些文章,對(duì)PHP閉合標(biāo)簽的總結(jié)如下:
好處:如果這個(gè)是一個(gè)被別人包含的程序,沒有這個(gè)結(jié)束符,可以減少很多很多問題,比如說:header, setcookie, session_start這些動(dòng)作之前不能有輸出,如果不小心在?> 后邊加了不可見字符(多余的空格、換行符)等頁面顯示,就會(huì)報(bào)"Header already sent"錯(cuò)誤,不寫的話不會(huì)有此問題。另,可以直接把光標(biāo)移到最后,接著編程。
壞處:在dreamweaver的視圖模式下,一團(tuán)糟。
關(guān)于PHP閉合標(biāo)簽官方解釋是:PHP閉合標(biāo)簽"?>"在PHP中對(duì)PHP的分析器是可選的。但是,如果使用閉合標(biāo)簽,任何由開發(fā)者,用戶, 或者FTP應(yīng)用程序閉合標(biāo)簽后面的空格都有可能會(huì)引起多余的輸出、php錯(cuò)誤、之后的輸出無法顯示、空白頁。因此,所有的php文件應(yīng)該省略這個(gè)php閉合標(biāo)簽,一段注釋來標(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實(shí)現(xiàn)改變圖片直接打開為下載的方法
這篇文章主要介紹了php實(shí)現(xiàn)改變圖片直接打開為下載的方法,涉及php操作圖片下載的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04PHP 字符串正則替換函數(shù)preg_replace使用說明
PHP 字符串正則替換函數(shù)preg_replace使用說明,需要的朋友可以參考下。2011-07-07PHP面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例分析
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)的方法,結(jié)合實(shí)例形式分析了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中類的聲明與實(shí)例化及類中方法的調(diào)用技巧,需要的朋友可以參考下2016-01-01php empty()與isset()區(qū)別的詳細(xì)介紹
本篇文章是對(duì)php中empty()與isset()的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06利用PHP內(nèi)置SERVER開啟web服務(wù)(本地開發(fā)使用)
PHP 5.4.0起, CLI SAPI 提供了一個(gè)內(nèi)置的Web服務(wù)器,這個(gè)內(nèi)置的Web服務(wù)器主要用于本地開發(fā)使用,不可用于線上產(chǎn)品環(huán)境,URI請(qǐng)求會(huì)被發(fā)送到PHP所在的的工作目錄Working Directory進(jìn)行處理,除非你使用了-t參數(shù)來自定義不同的目錄2020-01-01在PHP中使用反射技術(shù)的架構(gòu)插件使用說明
基于反射的插件架構(gòu)實(shí)際上并沒有歸類為一種模式,因?yàn)樗鼘?shí)際上不是一個(gè)模板,而是一糸列組合在一起的形成程序架構(gòu)的概念。2010-05-05