PHP  
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  
<语言参考指令分隔符>
Last updated: Mon, 16 Jul 2012

章 10. 基本语法

从 HTML 中分离

PHP 的脚本由文件中一对特殊的标记所引起的内容,当解释器分析一个文件时,所有特殊标记外的普通文件,解释器不对其做任何处理,而特殊标记内文件将作为 PHP 代码被解释器分析执行。该运行机制将允许您在 HTML 中嵌入 PHP 代码:PHP 标记外的内容将被完全独立开,不做任何处理,而内部的将作为 PHP 代码解析。

用来标记 PHP 代码块的标记共有四套,其中只有两套总是有效(<?php. . .?> 和 <script language="php">. . .</script>);另外两套可以在 php.ini 配置文件中开启或者关闭。虽然短格式的标记和 ASP 风格的标记可能比较省力,但是某些情况下您可能必须要使用长格式的标记。比如,您打算在 XML 或者 XHTML 中嵌入 PHP 代码,您将需要使用 <?php. . .?> 形式的标记以适应 XML 的标准。

PHP 支持的标记为:

例子 10-1. 从 HTML 中分离的方式

1.  <?php echo("if you want to serve XHTML or XML documents, do like this\n"); ?>

2.  <? echo ("this is the simplest, an SGML processing instruction\n"); ?>
    <?= expression ?> This is a shortcut for "<? echo expression ?>"

3.  <script language="php">
       echo ("some editors (like FrontPage) don't
             like processing instructions");
   </script>

4.  <% echo ("You may optionally use ASP-style tags"); %>
   <%= $variable; # This is a shortcut for "<% echo . . ." %>

优先选用的方式为第一种方式 <?php. . .?>,因为它允许您在 XML 结构,如 XHTML 的代码中使用 PHP。

第二种方式并非总是可用的。只有当您在 php.ini 配置文件中激活 short_open_tag 选项,才是可用的。您也可以通过使用 short_tags() 函数(仅用于 PHP 3),或者使用 --enable-short-tags 选项 configure PHP 来激活短格式标记。在 php.ini-dist 配置文件中,默认是开启短格式标记的,但是建议您不要使用该标记。

在 PHP 配置文件中开启选项 asp_tags 将激活第四种方式。

注: ASP 风格的标记添加于 PHP 3.0.4

注: 当开发大型应用程序或者用于分发的函数库,或者在不受您控制的 PHP 服务器上面开发程序时,请不要使用短格式的标记,因为目标服务器可能并不支持短格式的标记。为了便于移植,请保证用于再分发的代码中不使用短格式的标记。

PHP 代码块结束标记奖自动包含最近的一个结尾的新行(如果存在的话)。而且,结束标记自动隐含一个分号; 您不需要为 PHP 代码块的最后行追加一个分号。

PHP 允许您使用如下的结构:

例子 10-2. 更高级的脱离

<?php
if ($expression) {
  
?>
    <strong>This is true.</strong>
   <?php
} else {
  
?>
    <strong>This is false.</strong>
   <?php
}
?>
PHP 将直接输出结束标记和下一个开始标记中的任何非 PHP 代码。当需要输出大量的文本时,退出 PHP 解析模式将比使用 echo() 或者 print() 或者此类的函数打印所有文本要更加的有效。




<语言参考指令分隔符>
 Last updated: Mon, 16 Jul 2012
 
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: http://manual.phpv.net/
Last updated: Thu Jul 7 19:13:47 2005 CST