PHP:是否有理由在文件末尾添加换行符

PHP:是否有理由在文件末尾添加换行符,php,coding-style,newline,git-commit,Php,Coding Style,Newline,Git Commit,当我将一个php文件提交到github时,我会收到消息“文件末尾没有换行符” 这只是一个警告,我记得,无论出于什么原因,在文件末尾有一个换行符都是好的 但是为什么呢?它是很久以前的遗留物吗?它仍然有优势吗?或者它在php中是必需的吗?如果是,原因是什么?PHP不需要它,但它可能会导致某些差异工具出现问题。警告只是一个警告,如果需要可以忽略,但我建议遵循惯例,并将最后一个字符设为换行符。此警告是为了帮助您检测可能有缺陷的被截断文件,前提是末尾没有换行符的文件可能会被截断 除此之外,避免没有终止换行

当我将一个php文件提交到github时,我会收到消息“文件末尾没有换行符”

这只是一个警告,我记得,无论出于什么原因,在文件末尾有一个换行符都是好的


但是为什么呢?它是很久以前的遗留物吗?它仍然有优势吗?或者它在php中是必需的吗?如果是,原因是什么?

PHP不需要它,但它可能会导致某些差异工具出现问题。警告只是一个警告,如果需要可以忽略,但我建议遵循惯例,并将最后一个字符设为换行符。

此警告是为了帮助您检测可能有缺陷的被截断文件,前提是末尾没有换行符的文件可能会被截断


除此之外,避免没有终止换行符的源文件的唯一原因是避免警告

它可能源自C标准:(第123段)。原因包括一些编译器或其他文本处理工具逐行处理源代码,因此最后一行源代码也必须以新行字符结尾

另请参见:-
包含
在文件末尾不添加新行可能会导致类似的问题,如在C中。

这是一个声明:

所有PHP文件必须以一个空行结尾

为什么??因为应该对文件(如)进行操作的实用程序可能无法很好地处理不以换行符结尾的行;以下是其中一种状态的状态:

3.206线路

零个或多个非字符加上 终止字符

因此,不以换行符结尾的行不被视为实际行。这意味着:如果您的最后一行是代码行(而不是空行),这些工具可能会忽略它,并可能导致您的程序中断

现在,在:

所有PHP文件必须仅使用Unix LF(linefeed)行结尾。 所有PHP文件必须以非空行结尾,以单个LF结尾


它与PHP无关。它是一个警告还是只是diff视图中的一个语句?我猜只是一个语句。就在这时,我又想起了这件事。我认为用PHP做这件事是有原因的。