PHP:有没有理由在文件末尾加上换行符

2022-08-30 12:41:28

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

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

但是为什么?它是很久以前的残余,它仍然有优势还是甚至在php中需要它?如果是,原因是什么?


答案 1

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


答案 2

这是一个 PSR-2 约定,它指出:

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

为什么?因为应该对文件进行操作的实用程序(如diff实用程序)可能无法很好地处理不以换行符结尾的行;这就是POSIX在其规则之一中声明的方式:

3.206线

由零个或多个非<换行>字符加上终止字符的序列。

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


推荐