PHP,是英文超級文本預處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內嵌式的語言,是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,被廣泛的運用。
從 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 開始和結束標記
- <?php echo 'if you want to serve XHTML or XML documents, do like this'; ?>
- <script language="php">
- echo 'some editors (like FrontPage) don't
- like processing instructions';
- </script>
- <? echo 'this is the simplest, an SGML processing instruction'; ?>
- <?= expression ?> This is a shortcut for "<? echo expression ?>"
- <% 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: 在以下情況應避免使用短標記:開發需要發行的程序或者庫,或者在用戶不能控制的服務器上開發。因為目標服務器可能不支持短標記。為了代碼的移植及發行,確保不要使用短標記。
指令分隔符
同 C 或 Perl 一樣,PHP 需要在每個語句後用分號結束指令。一段 PHP 代碼中的結束標記隱含表示了一個分號;在一個 PHP 代碼段中的最後一行可以不用分號結束。如果後面還有新行,則代碼段的結束標記包含了行結束。
- <?php
- echo "This is a test";
- ?>
- <?php echo "This is a test" ?>
- <?php echo 'We omitted the last closing tag';
Note: 文件末尾的 PHP 代碼段結束標記可以不要,有些情況下當使用 include() 或者 require() 時省略掉會更好些,這樣不期望的白空格就不會出現在文件末尾,之後仍然可以輸出響應標頭。在使用輸出緩沖時也很便利,就不會看到由包含文件生成的不期望的白空格。
注釋
PHP 支持 C,C++ 和 Unix Shell 風格(Perl 風格)的注釋。例如:
- <?php
- echo "This is a test"; // This is a one-line c++ style comment
- /* This is a multi line comment
- yet another line of comment */
- echo "This is yet another test";
- echo 'One Final Test'; # This is a one-line shell-style comment
- ?>
單行注釋僅僅注釋到行末或者當前的 PHP 代碼塊,視乎哪個首先出現。這意味著在 // ... ?> 或者 # ... ?> 之後的 HTML 代碼將被顯示出來:?> 跳出了 PHP 模式並返回了 HTML 模式,// 或 # 並不能影響到這一點。如果啟用了 asp_tags 配置選項,其行為和 // %> 或 # %> 相同。不過,</script> 標記在單行注釋中不會跳出 PHP 模式。
- <h1>This is an <?php # echo "simple";?> example.</h1>
- <p>The header above will say 'This is an example'.
復制代碼C 風格的注釋在碰到第一個 */ 時結束。要確保不要嵌套 C 風格的注釋。試圖注釋掉一大塊代碼時很容易出現該錯誤。
- <?php
- /*
- echo "This is a test"; /* This comment will cause a problem */
- */
- ?>
希望通過以上內容的介紹,能夠幫助到你。