【PHP系列教程】(2)——PHP的基本文法

來源:互聯網
上載者:User
文章目錄
  • 一、從HTML中分離
  • 二、指令分隔字元
  • 三、注釋

為了深入瞭解PHP,以及更加便利的使用PHP為我們服務,本章節主要介紹PHP的基本文法。

一、從HTML中分離

PHP 的指令碼由檔案中一對特殊的標記所引起的內容,當解譯器分析一個檔案時,所有特殊標記外的普通檔案,解譯器不對其做任何處理,而特殊標記內檔案將作為 PHP 代碼被解譯器分析執行。該運行機制將允許您在 HTML 中嵌入 PHP 代碼:PHP 標記外的內容將被完全獨立開,不做任何處理,而內部的將作為 PHP 代碼解析。

用來標記 PHP 代碼塊的標記共有四套,其中只有兩套總是有效(<?php. . .?> 和 <script language="php">. . .</script>);另外兩套可以在 php.ini 設定檔中開啟或者關閉。雖然短格式的標記和 ASP 風格的標記可能比較省力,但是某些情況下您可能必須要使用長格式的標記。比如,您打算在 XML 或者 XHTML 中嵌入 PHP 代碼,您將需要使用 <?php. . .?> 形式的標記以適應 XML 的標準。

PHP 支援的標記為:

代碼1:從HTML中分離的方式:

1. <?php echo("if you want to serve XHTML or XML documents, do like this/n"); ?></p><p>2. <? echo ("this is the simplest, an SGML processing instruction/n"); ?><br /> <?= expression ?> This is a shortcut for "<? echo expression ?>"</p><p>3. <mce:script language="php"><!--<br /> echo ("some editors (like FrontPage) don't<br /> like processing instructions");</p><p>// --></mce:script></p><p>4. <% echo ("You may optionally use ASP-style tags"); %><br /> <%= $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 允許您使用如下的結構:

代碼2:更進階的脫離

<?php<br />if ($expression) {<br /> ?><br /> <strong>This is true.</strong><br /> <?php<br />} else {<br /> ?><br /> <strong>This is false.</strong><br /> <?php<br />}<br />?>

PHP 將直接輸出結束標記和下一個開始標記中的任何非 PHP 代碼。當需要輸出大量的文本時,退出 PHP 解析模式將比使用 echo() 或者 print() 或者此類的函數列印所有文本要更加的有效。

二、指令分隔字元

指令分隔方式與 C 或者 Perl 類似 -- 每個語句由分號格開。
結束標記(?>)同樣隱含語句的結束,因此下面的代碼是等價的:

<?php<br /> echo "This is a test";<br />?><br /><?php echo "This is a test" ?>

三、注釋

PHP 支援 'C','C++' 和 Unix Shell 風格的注釋。例如:

<?php<br /> echo "This is a test"; // This is a one-line c++ style comment<br /> /* This is a multi line comment<br /> yet another line of comment */<br /> echo "This is yet another test";<br /> echo "One Final Test"; # This is shell-style style comment<br />?>

“單行”注釋僅僅注釋到行末或者當前的 PHP 代碼塊,視乎哪個首先出現。

<h1>This is an <?php # echo "simple";?> example.</h1><br /><p>The header above will say 'This is an example'.

小心不要嵌套 'C' 風格的注釋,當注釋大量代碼時,可能犯該錯誤。

<?php<br />/*<br /> echo "This is a test"; /* This comment will cause a problem */<br />*/<br />?>

“單行”注釋僅僅注釋到行末或者當前的 PHP 代碼塊,視乎哪個首先出現。這意味著 // ?> 後面的 HTML 程式碼將被列印出來:?> 跳出了 PHP 模式並且返回 HTML 模式,而且 // 注釋符並不會影響到模式的轉換。   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.