My Labs! PHP

Work is Worth Doing of Worth Doing Well.

在 PHP 处理文件的时候,它会寻找打开与关闭标记,从而告诉 PHP 开始并且结束它们之间的代码解释。以这种方式的处理允许 PHP 被嵌入到所有不同类型的文档中,而打开与关闭标记对之外的一切都会被 PHP 解析器忽略一样。多数时候你将看到 PHP 被嵌入在 HTML 文档中,与这个范例一样。

<p>This is going to be ignored.</p>
<?php echo 'While this is going to be parsed.'; ?>
<p>This will also be ignored.</p>

你同样可以使用更多高级结构:

高级的转码
<?php
if ($expression) { 
    ?>
    <strong>This is true.</strong>
    <?php 
} else { 
    ?>
    <strong>This is false.</strong>
    <?php 
}
?>

这会与所预期的一样工作,因为在 PHP 找到结束标记 ?> 的时候,它简单地开始输出它所找到的一切,直到它找到其他打开标记为止。这里所提供的范例是被策划的,当然,但是至于输出庞大的文本块,跳出 PHP 解析模式通常是比通过 echo() 或者 print() 发送所有文本更加有效率的做法。

这里有四种不同的打开与关闭标记对可以在 PHP 中被使用。<?php ?> 与 <script language="php"> </script> 这两种都是始终可用的。而另外两种则是短标记与 ASP 风格标记,也都可以从 php.ini 配置文件中被启用或者禁用。同样,虽然有些人发现短标记与 ASP 风格标记是更加方便的,但是它们的可移植能力较少,并且通常不是被建议的。

提示:同样注意如果你把 PHP 嵌入到 XML 或者 XHTML 中,你就需要使用 <?php ?> 标记来遵循标准。

PHP 打开与关闭标记
1.  <?php echo 'if you want to serve XHTML or XML documents, do like this'; ?>

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

3.  <? echo 'this is the simplest, an SGML processing instruction'; ?>
    <?= expression ?> This is a shortcut for "<? echo expression ?>"

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

虽然范例中的这些标记有一两种始终都是可用的,但是范例一却是最常被使用的,而范例二则是被建议的。

短标记(范例三)只在它们通过 php.ini 配置文件指令 short_open_tag 而被启用的时候才是可用的,或者如果 PHP 以 --enable-short-tags 选项而被配置。

提示:如果你使用的是 PHP 3,那么你同样可以通过 short_tags() 函数来启用短标记。但是这只在 PHP 3 中才是可用的!

ASP 风格标记(范例四)只在它们通过 php.ini 配置文件指令 asp_tags 而被启用的时候才是可用的。

提示:对于 ASP 标记的支持在 3.0.4 版本中才被加入。

提示:在为了重新分配而开发应用程序或者库的时候应该避免使用短标记,或者在布署在不能够被你所控制的 PHP 服务器上的时候,因为短标记可能不被目标服务器所支持。在出于可移植而重新分配代码的时候,应该确保没有使用短标记。

posted on 2007-03-28 20:32 Laeb 阅读(3555) 评论(0)  编辑 收藏 引用 网摘 所属分类: 语言参考 / 基本语法