Forum und email

基本語法

Table of Contents

從 HTML 中跳脫

當 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>

還可以用更進階的結構:

Example#1 進階跳脫

<?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 風格標籤很方便,但移植性較差,通常不推薦。

Note: 此外注意如果將 PHP 嵌入到 XML 或 XHTML 中則需要使用 <?php ?> 以保持符合標準。

Example#2 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 . . ." %>

上例中的 1 和 2 總是可用的,其中 1 是最常用,並建議使用的。

短標籤(上例 3)僅在通過 php.ini 配置文件中的指令 short_open_tag 打開後才可用,或者在 PHP 編譯時加入了 --enable-short-tags 選項。

Note: 如果用 PHP 3 還可以通過 short_tags() 函式使用短標籤。此方法只適用於 PHP 3!

ASP 風格標籤(上例 4)僅在通過 php.ini 設定文件中的指令 asp_tags 打開後才可用。

Note: 對 ASP 風格標籤的支援是 3.0.4 版添加的。

Note: 在以下情況應避免使用短標籤:開發需要發行的程序或者函式庫,或者在用戶不能控制的伺服器上開發。因為目標伺服器可能不支持短標籤。為了代碼的移植及發行,確保不要使用短標籤。