>백엔드 개발 >PHP 튜토리얼 >为什么有些php代码有<?php但是没有?>结束呢?

为什么有些php代码有<?php但是没有?>结束呢?

WBOY
WBOY원래의
2016-06-06 20:22:281890검색

为什么有些php代码有

回复内容:

为什么有些php代码有

PHP-FIG/PSR-2:代码风格规范

为什么有些php代码有<?php但是没有?>结束呢?

LS几位写的都不错, 再多说几句吧

a.php:

<code><?php // some code 注意最末尾 ?> 之后有空白字符
?>    

</code>

b.php:

<code><?php require "a.php";

header('xxxx');
?></code>

a.php末尾的空白字符也会被输出,然后就报错了,然后就找了N久也没找到错误在哪儿~~ 然而不带?> 就不会出现这个问题。

都是血和泪的教训

PHP可以在纯php文件里不以?>结尾.

这是为了避免包含php文件时带来额外字符导致的错误

如果脚本中还要包含其他的脚本,那结尾的?>就不要写了,以免出现错误

我看了下,答案里面没有提到PSR规范的,PSR-1基本代码规范中,关于代码开头和PHP标签开头的描述如下:

  1. 概览
    PHP代码文件必须以

2.1. PHP标签
PHP代码必须使用

而所有PSR-1到4的示例代码,都没有用?>作为结束,可以借鉴参考。

如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。

echo "Hello world";

// ... more code

echo "Last statement";

// 脚本至此结束,并无 PHP 结束标记

一般如果某个文件是需要被包含的尾部可以不要以?>结尾

是为了防止尾部有空白字符,导致无意义的输出,这会影响header输出!而且PHP脚本并没有说一定要加结尾啊

如果PHP下边没有其他代码,可以省略?>

楼上的全说了。
纯的PHP不需要写 ?>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.