第九回:HTML與PHP

 

HTML網頁的運作原理

 

PHP的由來:

西元1994年的某天,有個叫 Rasmus Lerdorf 的人用 Perl Script 寫了一些程式,追蹤有哪些人看過他的線上履歷表。慢慢地,一些網友對他所寫的程式碼產生興趣。於是,Rasmus Lerdorf 就整理這些程式碼,包裝成一個叫作 "Personal Home Page" (PHP 一詞的?生) 的工具。基於個人的興趣,Rasmus Lerdorf 又寫了一個腳本語言的核心引擎並結合另一個工具以解析 HTML 表單的輸入值,此工具被稱為 "Form Interpreter",簡稱 FI。在1995年完成的這個版本,當時稱作 "PHP FI",也有人稱之為 "PHP2"。

PHP/FI 開發出來之後,受到網站開發者的極大的回響,使用 PHP/FI 來開發網站程式的人越來越多。在 1997 年中的時候,PHP 從 Rasmus Lerdorf 個人維護的開發專案,轉變成一個重要的網站開發技術。PHP 的開發與維護也轉由一個由 Rasmus Lerdorf 本人和 Andi Gutmans、Zeev Suraski、Stig Bakken、Shane Cavaveo、以及 Jim Winstead 等人所組成的團隊來負責。在1998年6月的時候,Zeev Suraski 和 Andi Gutmans 改寫了 PHP 語言的解析器,並公佈這新的版本,稱之為 PHP3。

到目前為止,PHP已經變成Apache Software Foundation的一個專案計劃,而此計劃的官方網站為:http://www.php.net。此網站包含 PHP 相關知識最詳細的說明。

 

PHP網頁的運作原理

 

PHP程式語言基本注意事項:

一、Web Server 如何分辨 PHP 的檔案與 HTML 檔案:

要讓 Web Server 能執行網頁中的 PHP 程式碼,網頁的副檔名必須是 .php

二、程式碼區域的開始與結束:

PHP的優點之一,就是可以和HTML碼混合在一起。但是為了讓Web Server能區分出 PHP的程式碼與HTML碼,所以,在每段PHP程式碼的開頭必須加入 <?php ,在結尾的地方加 ?>

三、命令句:

在PHP中,每一個命令句必須以分號 ";" 作結束。

四、變數:

變數是用來儲存程式執行時的暫存資料。在 PHP 中,變數之前必需加錢號 '$' 的符號,例如:$a。另外,PHP 的大小寫是有差別的,例如:$a 與 $A 代表二個不同的變數。PHP 是屬於 weakly typed 的程式語言,對資料型態的規範較鬆,變數可以不先經過宣告,就可以直接使用 (若將 PHP 與 C/C++ 比較,則 C/C++ 是屬於 strong typed 的程式語言,在 C/C++ 中,所有的變數數必須經過宣告後才能使用)。好處是,程式寫起來比較方便,壞處是,程式內容因為打字錯誤而產生問題時,較難找出錯誤。

五、程式註解:

PHP的程式註解符號,與C++,Java一樣,單行的註解使用 "//" "//" 之後在同一行內的所有文字,都被認為是註解,因此,其內容並不會被執行。若要使用多行的註解時,可以使用 "/*""*/" 註解符號。在 "/*""*/"之間的所有文字,全部被當成註解看待,其內容均不被執行。

 

PHP的輸出

要列印輸出程式的運算結果時,可以使用 echo 指令。以下以實例分別示範 echo 的用法。

一、使用 echo 輸出:

<?php
   echo "Hello, PHP !";
?>

二、 echo 指令與連結符號 ".":

<?php
   $a = 3;
   $b = 5;
   echo "a=".$a.<br>;
   echo "b=".$b.<br>;
   echo "a+b=".$a+$b;
?> 

三、 echo 指令與內嵌變數:

<?php
   $a = 3;
   $b = 5;
   echo "a=$a<br>";
   echo "b=$b<br>";
   $c = $a + $b;
   echo "a+b=$c";
?> 

 

有什麼是 PHP 可以,而 HTML 不行的?

關鍵的差別是 HTML 由瀏覽器負責解譯,並非執行於伺服器。只要撰寫程式碼並讓網站伺服器執行它,就可以達成很多 HTML 辦不到的事情。

舉例而言,用程式碼所產生出來網頁能依日期的不同顯示該日的新聞。除此之外,亦可寫一份網頁來偵測使用者的瀏覽器類型,然後對網頁的輸出進行最佳化的調整。以下是幾個 PHP 可以、 但 HTML 做不到的例子:

 

練習:

  1. 試寫一個名為 hello.php 的 PHP 網頁,使其在瀏覽器中輸出下列文字:
    Hello, PHP !
    This is my first PHP page !

 

參考資料:

  1. PHP 5知識交換中心

 

Last update : 2005年12月21日