2012-03-12 135 views
7

我記得在JavaScript教程中閱讀時,通常最好避免使用單行註釋,因爲將來有人決定要壓縮文件並刪除所有的空白區域。多行註釋vs單行註釋

在PHP中是否也一樣?即使在我只佔用一條線時,也應該使用多行註釋,例如

echo $var; /*This code echoes a variable*/ 

或者在這種情況下使用單行註釋可以嗎?

而且PHP文件是通過刪除空白壓縮過的,還是有點極端?

+4

你能鏈接一個引用到你得到那些信息的地方嗎?任何壓縮空白空間的人都應該認識到,並非所有的空白空間都是可移動的,有很多事情可能會出錯。在做這樣的事情之前,評論當然應該被剝奪。 – 2012-03-12 21:08:54

+0

順便說一下:是的,有時候人們會壓縮或混淆PHP,但很少。 – 2012-03-12 21:18:23

+0

對不起,回覆遲了,網站是:http://dev.opera。com/articles/view/javascript-best-practices /#comments 具體來說: 「評論什麼時候有重要的事要說,如果你做評論,請使用/ * */notation。如果人們在不剝奪註釋的情況下縮小代碼,並且通常不那麼靈活,那麼會出現問題。「 – Sean 2012-03-12 21:47:22

回答

5

在這種情況下使用單行註釋可以嗎?

簡短回答:
如果有人壓縮空白並破壞你的代碼,這是他們的錯誤,因爲不正確。

任何PHP或JS源壓縮器值得使用應該足夠聰明,知道要刪除什麼和不要觸摸,並且所有評論通常都會被剝離,所以這不是一個相關問題。你不應該圍繞這樣的事物編碼。

我可以想到的避免單行註釋的唯一實際原因是,有時當您從Windows和* NIX服務器進出時,會出現行結尾的問題。如果您使用的是Windows樣式的換行符,並且您的文件將它們保留在* NIX服務器上,那麼您的單行註釋最終將註釋掉您的實際代碼,從而搞亂了所有內容。 /* Comments like this */不會影響任何東西。例如:

$var = 'Hello'; // Say hello 
echo $var; 

上傳到UNIX服務器上的Windows風格\r\n換行符:

$var = 'Hello'; // Say helloecho $var; 

你可能最終,如果你運行它執行了一些意想不到的,危險的代碼。

但是:如果發生這種情況,這是另一個應該解決的問題的症狀。我幾次遇到過這種情況,所以我知道這是可能的。無論如何,許多FTP客戶端都會轉換換行符。

所以在現實中:是的,可以使用單行註釋。評論是作者,而不是編譯器或解析器。

+0

真棒,謝謝:) – Sean 2012-03-12 21:42:54

0

密實摺疊的空白,其實是不好的PHP腳本,因爲1)它可能會改變HTML是如何呈現給導致佈局不同瀏覽器,和2)一些功能,如x滯後preg_*(),需要空白保持不變。