項目中有用到php yii框架, 今天看了規(guī)范文檔
https://github.com/yiisoft/yii/wiki/Core-framework-code-style
里面有說道:php文件只要開始標簽 <?php
不要結束標簽 ?>
, 印象中好像有看到其他框架也這么說過, 貌似會更安全, 為什么, 哪里有相關介紹?
光陰似箭催人老,日月如移越少年。
這是官方手冊上推薦的用法,手冊上有詳細說明:
如果文件內容是純 PHP 代碼,最好在文件末尾刪除 PHP 結束標記。這可以避免在 PHP 結束標記之后萬一意外加入了空格或者換行符,會導致 PHP 開始輸出這些空白,而腳本中此時并無輸出的意圖。
純 PHP 文件必須省略關閉標簽、
文件末尾必須空一行。
換仿佛必須是 LF。
這就是PSR-2風格指南里的, 該指南是經過許多的開源項目風格調查之后總結的一個多數(shù)人使用的方法。 旨在讓不同的 PHP 項目之間切換, 或審閱別人代碼時, 能夠無縫開始, 降低熟悉風格的成本。 這個風格上的所有內容都是有一定意義的,比如省略關閉標簽主要是文件 include 和 輸出內容不受干擾的考量。 否則很有可能在你的關閉標簽后面摻雜東西到另一個文件里, 沒有經驗的人會很難排查錯誤。
www.php-fig.org
我這兩天翻譯個這個, yii2的風格, 基本是在psr2基礎上做少許修改(縮進四個空格改為tab),https://github.com/AbrahamGreyson/yii2-zh-cn/blob/master/internals/core-code-style.md
更正下,經過激烈的討論,yii2決定完全兼容psr2, 移除tab縮進,改為更符合社區(qū)多數(shù)人習慣的4空格縮進。
一點題外話,這僅僅是代碼風格指南,最大的意義不是所有人都遵守它,而是在一個圈子內大家盡量維持一致,以便提高協(xié)作的效率,在這點上google有一篇文章專門講公司內部代碼規(guī)范的必要性。 大家支持并尊重該指南的基礎是, 不搞那么多個性化,一切都按照大家約定的習慣來。 目前 PHP 已經有相當多大項目完全遵照這個風格。例如yii2 symfony2 laravel。如果你想在測試的時候集成風格的檢查, 可以安裝 PHP_CodeSniffer , 他能在構建的時候給你檢查風格是否符合你的設定。
另外注釋是另一個范疇了, 建議你用符合 PHPdoc 規(guī)范的注釋。 可以自動把你的代碼生成 api 手冊, 可以代替類圖 uml之類的東西。 快速查詢時比較方便。
如果使用閉合標簽,任何由開發(fā)者,用戶,或者FTP應用程序插入閉合標簽后面的空格都有可能會引起多余的輸出、php錯誤、之后的輸出無法顯示、空白頁。因此,所有的php文件應該省略這個php閉合標簽,并插入一段注釋來標明這是文件的底部并定位這個文件在這個應用的相對路徑。這樣有利于你確定這個文件已經結束而不是被刪節(jié)的。
摘自CI手冊