在PHP与HTML混合输入的页面或者模板中就需要对PHP代码进行闭合

Posted 服务器-老张

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在PHP与HTML混合输入的页面或者模板中就需要对PHP代码进行闭合相关的知识,希望对你有一定的参考价值。

php程序的时候会在文件的最后加上一个闭合标签,如下:

<?php
class MyClass{
public function test(){
//do something, etc.
}
}
?>

而最佳实践是不使用 “?>”来闭合程序。为什么不写闭合标签呢?不闭合程序这看上去非常的不完美啊,感觉程序没有终止一样,对于有强迫症的程序员这是非常糟糕的事情啊。

PHP闭合标签“?>”在PHP中对PHP的分析器是可选的。对于纯PHP文件,不写封闭标签的原因是为了防止在封闭标签之后有多余的空格、制表符等,在渲染页面的时候会输出这些多余的字符,造成页面错位;如果使用闭合标签,任何由开发者,用户,或者FTP应用程序插入闭合标签后面的空格或空行都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。另外,你在一个PHP文件中包含了另外一个PHP文件,并使用了header函数,而另外一个PHP文件中,因为封闭标签后面有多余的字符,那么最终页面就会因为在header函数之前做了输出而报错。因此,所有的php文件应该省略这个php闭合标签,并插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。这样有利于你确定这个文件已经结束而不是被删节的。

<?php
class MyClass{2881064151
public function test(){
//do something, etc.
}
}
/* End of file myclass.class.php */
/* Location: ./system/modules/mymodule/myclass.class.php */

需要注意的是,并不是所有情况都要不关闭PHP代码,在PHP与html混合输入的页面或者模板中就需要对PHP代码进行闭合,如:

<h1><?php echo $title; ?></h1>
<p><?php echo $description; ?></p>















以上是关于在PHP与HTML混合输入的页面或者模板中就需要对PHP代码进行闭合的主要内容,如果未能解决你的问题,请参考以下文章

PHP生成静态网页的方法

PHP模板引擎,Smarty定义

thinkphp 中区块block和模板继承extend用法举例

PHP基础解惑省略结束标签

我应该将 AngularJS 与 PHP 框架混合使用吗? [关闭]

我应该将 AngularJS 与 PHP 框架混合使用吗? [关闭]