前言
最近发现PHP Intelephense
插件喜欢自动去掉PHP
文件结尾的?>
符号,看着很不美观。
经过在网上查询,知道了该符号写于不写有以下区别。
区别
加结尾的:之后的内容视为 纯文本直接输出,直到再次碰到
<?
或<?php
;不加的:之后的内容视为
PHP
代码,除非没有代码了;
对于一些函数库/类库文件,不加结尾比较好,当它们被其他文件包含的时候,可以避免一些因为有输出而导致的错误,例如以下代码:
<?PHP
//如果 a.php 有结尾,并且后面多一个回车或空格。下面这行一定报错。
include("a.php");
session_start():
?>
不加结尾还有个好处,如果服务器被病毒感染,病毒可能会在你的 PHP
文件最后加上 HTML
。
例如:
<img src="他的带毒地址" />
如果不加结尾的话,等效于直接在 PHP
文件里书写 HTML
,PHP
报错运行中断从而确保访客不会因为这个而中毒,网站管理员也能马上发现染毒了。
此外,不添加结尾还可以防止结束符后面还有其它不可见字符而会导致文件互相包含时出现问题。
参考资料:
https://blog.csdn.net/chengjianghao/article/details/100078052
版权属于:soarli
本文链接:https://blog.soarli.top/archives/610.html
转载时须注明出处及本声明。