IT技术博客大学习 共学习 共进步

PHP最佳实践之PHP标签

标点符 2014-11-25 23:03:37 浏览 2,163 次

   在PHP中有很多不同的方式来区分PHP程序块,<?php ?>, <?= ?>, <? ?>, 以及<% %>都可以。但唯一在所有PHP服务器上都能正常工作的标签是<?php ?>。若你计划将你的程序部署到一台你无法修改PHP配置的服务器上,那么你应始终使用<?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{
    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>

建议继续学习

  1. 标签?ID?还是CLASS? (阅读 5,066)
  2. 给微博打上标签 (阅读 4,763)
  3. 推荐系统的问题 (阅读 4,644)
  4. PHP正则匹配字符串中的标签 (阅读 3,386)
  5. 互联网里的分类和标签 (阅读 3,286)
  6. 可选闭合标签 (阅读 3,084)
  7. Flash在某些多标签浏览器中的“伪沙箱”问题 (阅读 2,863)
  8. 标签的语言粒度 (阅读 2,843)
  9. 让人又爱又恨的标签们 (阅读 2,622)
  10. 标签在web2.0中的适用范围 (阅读 2,484)