4

1.4PHP标记及从HTML中分离

Posted by 撒得一地 on 2015年9月1日 in PHP入门教程

当解析一个文件时,PHP 会寻找起始符和结束标记符,也就是 <?php?>。这告诉 PHP 解析器从哪里开始和从哪里停止解析PHP代码。此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去,而任何在起始和结束标记符之外的部分都会被 PHP 解析器忽略。 
PHP 也允许使用短标记 <? 和 ?>,但不建议使用。只有通过修改 php.ini 中的配置文件,将short_open_tag配置指令开启起来,即将配置文件中short_open_tag = Off修改为short_open_tag = On,或者在编译 PHP 时使用了配置选项 –enable-short-tags 时才能使用短标记。 

如果文件内容是纯 PHP 代码,结束符?>还可以省略。建议在纯PHP代码时,在文件末尾删除 PHP 结束标记。因为这可以避免在 PHP 结束标记之后编码者万一不小心加入了空格或者换行符,会导致 PHP 开始输出这些空白,而编码者在写脚本时并无输出的意图。如下:

<?php
 echo  "Hello world" ;
 // ... 更多代码
 echo  "Last statement" ;
 // 脚本至此结束,省略 PHP 结束标记

凡是在一对开始和结束标记符之外的内容都会被 PHP 解析器忽略,这使得 PHP 文件可以具备混合内容。 可以使 PHP 嵌入到 HTML 文档中去,如下例所示:

<p>这里的代码将会被PHP解析器忽略,但是会被浏览器执行。</p>

<?php  echo  '这里的代码会被PHP解析器解析' ;  ?>

<p>这里的代码也会被PHP解析器忽略,但是会被浏览器执行。</p> 

上面的代码将如预期中运行,因为当 PHP 解释器碰到 ?> 结束标记时就简单地将其后内容原样输出直到碰到下一个开始标记;但是也有例外。
例外是处于条件语句中间时,此时 PHP 解释器会根据条件判断来决定哪些输出,哪些跳过。见下例。 
Example #1 使用条件语句的分离

<?php  if ( $expression  ==  true ):  ?>

如果expression为真这里将会被输出

<?php  else:  ?>

如果expression为假这里会被输出

<?php  endif;  ?> 

上面的代码很简单,就是当expression为true时if下面那段文本将被输出,否则else后面的那段文本被输出。要输出大段文本时,跳出 PHP 解析模式直接用浏览器输出通常比将文本通过 echo 或 print 输出更有效率。 

在 PHP 中使用四对不同的开始和结束标记。其中两种,<?php ?> 和 <script language="php"> </script> 总是可用的。
另两种是短标记和 ASP 风格标记,可以在 php.ini 配置文件中打开或关闭。尽管有些人觉得短标记和 ASP 风格标记很方便,但移植性较差,通常不推荐使用。 

Example #2 PHP 开始和结束标记 
1. <?php  echo  'if you want to serve XHTML or XML documents, do it 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'; %>

上例中的 1 和 2 中使用的标记总是可用的,其中示例 1 中是最常用,所以强烈建议使用它。 
短标记(上例 3)仅在通过 php.ini 配置文件中的指令 short_open_tag 打开后才可用,或者在 PHP 编译时加入了 –enable-short-tags 选项。 
ASP 风格标记(上例 4)仅在通过 php.ini 配置文件中的指令 asp_tags 打开后才可用。 

下面总结几个注意事项:
1.如果将 PHP 代码嵌入到 XML 或 XHTML 中则需要使用 <?php ?> 标记,以保持符合语法标准。
2.为了代码的移植及发行,尽量不要使用短标记。因为有些目标服务器可能不支持短标记。  

标签:

上一篇:

下一篇:

相关推荐

4 Comments

Comments are closed. Would you like to contact the author directly?
网站地图|XML地图

Copyright © 2015-2024 技术拉近你我! All rights reserved.
闽ICP备15015576号-1 版权所有©psz.