什么情況下可以不寫PHP的閉合標(biāo)簽“?>”
在一些PHP項(xiàng)目里我們經(jīng)常會看到有些PHP文件中的代碼是只有開始標(biāo)簽,而沒有結(jié)束標(biāo)簽的,那么什么情況下可以不寫這個(gè)結(jié)束標(biāo)簽,而什么情況下又必須寫?
對此我們先來看2個(gè)例子:
下面的代碼可以正常運(yùn)行:
<?php echo 123456;
下面的代碼會報(bào)錯:
<?php echo 123456; <p>abc</p>
原因分析:
前者是純php代碼,可以不寫結(jié)束標(biāo)簽,也不推薦寫結(jié)束標(biāo)簽;后者除了php代碼,還有html代碼,必須要寫結(jié)束標(biāo)簽。
那么為什么不推薦前者寫結(jié)束標(biāo)簽?zāi)兀?br />
因?yàn)樵诓粚憄hp結(jié)束標(biāo)簽時(shí),默認(rèn)從開始標(biāo)簽往后都是php代碼,如果有其他代碼,那就會報(bào)錯。php只能運(yùn)行在php標(biāo)簽里面的腳本,在腳本之外的所有字符,包括你看不見的空格或者回車,制表符號,都是作為輸出內(nèi)容會response到客戶端的,這樣就有可能會產(chǎn)生意想不到的事情。例如文件里面使用了header函數(shù),這個(gè)文件同時(shí)又包含了另外一個(gè)文件,并且被包含的文件的php標(biāo)簽外有空字符,這個(gè)時(shí)候會報(bào)header already send的錯誤。我們查看一些網(wǎng)頁的源代碼看到的開頭部分有很多空格和換行,就是因?yàn)檫@個(gè)原因?qū)е碌摹?/p>
解決方案建議:
庫文件、或者一些class文件等只有純php代碼的文件不推薦加結(jié)束標(biāo)簽。
相信本文所述對大家的PHP程序設(shè)計(jì)有一定的參考價(jià)值。
相關(guān)文章
PHP實(shí)現(xiàn)查詢手機(jī)歸屬地的方法詳解
最近通過在網(wǎng)上面的學(xué)習(xí),完成了 PHP 實(shí)現(xiàn)手機(jī)歸屬地查詢的功能。所以下面這篇文章主要給大家介紹了利用PHP實(shí)現(xiàn)查詢手機(jī)歸屬地的方法,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考借鑒,下面來一起看看吧。2017-04-04PHP命名空間namespace定義及導(dǎo)入use用法詳解
這篇文章主要介紹了PHP命名空間namespace定義及導(dǎo)入use用法,結(jié)合實(shí)例形式詳細(xì)分析了php中命名空間namespace的功能、定義及導(dǎo)入use相關(guān)使用方法與操作技巧,需要的朋友可以參考下2018-03-03PHP關(guān)于htmlspecialchars、strip_tags、addslashes的解釋
這篇文章主要介紹了PHP關(guān)于htmlspecialchars、strip_tags、addslashes的解釋,需要的朋友可以參考下2014-07-07php多進(jìn)程模擬并發(fā)事務(wù)產(chǎn)生的問題小結(jié)
這篇文章主要給大家介紹了關(guān)于php多進(jìn)程模擬并發(fā)事務(wù)產(chǎn)生的問題,文中通過示例代碼介紹的非常想吃詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12input file獲得文件根目錄簡單實(shí)現(xiàn)
js獲得file根目錄,然后賦值給hidden類型input,然后就可以交給php or jsp 處理了,感興趣的朋友可以參考下哈,希望可以幫助到你2013-04-04PHP用strstr()函數(shù)阻止垃圾評論(通過判斷a標(biāo)記)
假如你的網(wǎng)站垃圾評論很多,大部分垃圾評論是帶鏈接的,因?yàn)橐黾臃聪蜴溄勇铮阅憧梢允褂孟旅娴男〖记蓙矶沤^這些帶鏈接的垃圾評論2013-09-09