如果在文件末尾省略PHP块的结束标记,是否会删除任何换行符或空格(如果存在于相应的文件中)?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果在文件末尾省略PHP块的结束标记,是否会删除任何换行符或空格(如果存在于相应的文件中)?相关的知识,希望对你有一定的参考价值。
我正在使用php 7.1.12
我知道PHP代码块的结束标记自动意味着分号,因此我们不需要使用分号来终止PHP块的最后一行。
块的结束标记将包括紧接着的新行(如果存在)。
所以,我的问题是假设我有一个包含很少语句的PHP代码块,我在最后一个有效代码行之后添加十个换行符然后我没有添加结束PHP标记,即?>
那么,在上面的情况下,PHP会删除那些额外的10个换行符,或者我添加了哪些不需要的空格?
我知道PHP代码块的结束标记自动意味着分号,因此我们不需要使用分号来终止PHP块的最后一行。
意味着<?php echo '' ?>
很好。
块的结束标记将包括紧接着的新行(如果存在)。
手段
<?php echo '' ?>
将输出3个换行符。
但我想你的问题是,以下是否会输出换行符。
<?php echo '';
它不会,因为同样的原因PHP注释不会输出。
PSR-2指南2.2. Files。
- 所有PHP文件必须使用Unix LF(换行)行结尾。
- 所有PHP文件必须以一个空行结束。 (不是10; p)
- 必须从仅包含PHP的文件中省略关闭的
?>
标记。
如果您的文件是纯PHP,即您没有在html文件中使用多个PHP块,则应始终避免关闭标记。关闭标记表示您的脚本已完成,并将代码的下一部分视为HTML。如果您的HTML和PHP在您的代码库中是分开的,您应该使用<?php
标记启动该文件,然后再编写PHP脚本。该文件中的所有行都将被视为PHP,并且只有回显的部分将被打印在屏幕上。
回到你的问题,你在上一个PHP代码行之后添加的那10行将被视为PHP脚本的一部分,并且在脚本中将被视为空行,而不是HTML中的空行。
一些参考资料更多信息:https://softwareengineering.stackexchange.com/questions/89553/closing-tag-on-php-files https://www.sitepoint.com/should-you-close-your-php-code-tags/ https://wordpress.stackexchange.com/questions/210765/to-close-or-not-to-close-php
以上是关于如果在文件末尾省略PHP块的结束标记,是否会删除任何换行符或空格(如果存在于相应的文件中)?的主要内容,如果未能解决你的问题,请参考以下文章