第九回: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 做不到的例子:
練習:
參考資料:
Last update : 2005年12月21日