2012-03-29 71 views
22

當我向github提交php文件時,我收到消息「文件末尾沒有換行符」。PHP:是否有理由在文件末尾添加換行符

這只是一個警告,我記得,由於任何原因,在文件末尾添加換行符是很好的做法。

但是爲什麼?它是久違的剩餘時間嗎,它仍然有優勢,甚至是需要在PHP?如果是,爲什麼?

+0

它與PHP無關。 – 2012-03-29 08:46:05

+0

它是差異視圖中的*警告*還是簡單的*聲明* – deceze 2012-03-29 08:48:19

+0

只是一個聲明,我猜。只是當它再次出現在我的腦海裏時。我認爲有一個理由在PHP中做到這一點。 – 2012-03-29 08:49:49

回答

15

這不是PHP所要求的,但它可能會導致一些diff工具的問題。警告只是一個警告,如果需要可以忽略,但我會建議遵循以下慣例,並將最後一個字符作爲換行符。

+0

你能告訴我一個例子請....盯着一樣的問題。 – 2015-08-07 20:12:07

5

該警告旨在幫助您檢測到可能有缺陷的截斷文件,前提是文件末尾沒有換行符被懷疑被截斷。

除此之外,避免源文件沒有終止換行符的唯一原因是爲了避免警告!

0

這類似的問題是一個PSR-2 convention,指出:

所有PHP文件必須結束只有一個空行。

爲什麼?因爲應該對文件進行操作的實用程序(如diff utility)可能無法很好地處理不以換行符結尾的行;這是如何POSIX狀態在其rules之一:

3.206線

的零個或多個非字符加上一個 終止字符序列。

因此,不以換行符結尾的行不被視爲實際行。這意味着:如果你的最後一行是一行代碼(而不是空行),那麼這些工具可能會忽略它,並可能導致程序崩潰!

相關問題