語法資料型態變數與常數外部變數環境變數運算元流程控制引用檔案函數物件
PHP 簡介

PHP 初探

「靜態」VS.「動態」
 我們要用 PHP(Hypertext Preprocessor) 做什麼?最簡單的目的是為了要產生「動態」的網頁。
 這裡所謂的「動態」,絕不是指網頁上有幾個會動的 GIF 圖檔,或是有個川流不息的走馬燈,我所指是動態的「內容」。
 舉個例子來看,我們想在網頁上呈現一些最新的消息,當訊息要更新時,我們得重新編輯該網頁(HTML 檔)。在這種情況下,這個網頁是「靜態」的,因為它的內容不能即時更新。
 如果改寫這個網頁,在其中加入存取資料庫的語法,使這個網頁能自動從資料庫擷取最新資訊的話,那麼它就是個「動態」的網頁了;以後,無論是訊息的增加或異動,都只要從資料庫中著手,無須再去修改這個網頁了。

運作架構
 我們先來看看所謂「靜態」網頁的運作方式:
 當 User 透過 Internet 向 Web Server 提出需求,要求瀏覽某個 HTML 檔案時,如果 Web Server 上確實有該網頁的話,會直接將其內容回應給 User。
 那麼所謂「動態」的網頁又是運作的呢?我們以 PHP 為例:
 當 User 向 Web Server 要求瀏覽某個 PHP 檔案時,Web Server 會先將其內容轉給 PHP Engine 處理。在處理的過程中,必要的話,還能搭配 Database 或 File System 共同作業,然後再將「加工」處理過的內容回傳給 Web Server,最後再送到 User 面前。
 這裡所謂的「加工」處理,指的是什麼呢?以下有兩個例子,前者是只包含純 HTML 碼的「靜態」網頁,後者則是加入 PHP 碼的「動態」網頁。
「靜態」網頁範例 「動態」網頁範例
 在瀏覽過上述兩個範例之後,請分別檢視其原始碼,看看兩者有何不同?
 怎麼都一樣呢?對您來說,是的!它們都一樣;但事實上,兩者是不同的。前者是原封不動地由 Web Server 直接傳送給您,內容完全沒被更動過;後者則是經由 PHP Engine 加工之後的產物,其未加工前的原始內容如下:
「動態」網頁原始碼

 總結上述的說法,做個簡單的歸納:
  1. 副檔名為 html 的網頁會被 Web Server 直接送出,副檔名為 php 的網頁會先經 PHP Engine 處理再送出。
  2. 含 PHP 碼的網頁,具有迴圈處理的功能,純 HTML 碼的網頁則無。
  3. 即使網頁內容含有 PHP 碼,在經處理之後,輸出到使用者面前的只剩下 HTML 碼,原始內容不但可以受到保護(不被竊取),使用者使用何種瀏覽器也不會受到侷限。
  4. PHP 是一種內嵌式的語言,它被嵌入 HTML 碼之中,彌補純 HTML 碼無法進行運算處理的缺憾。

 當然 PHP 能在短短幾年內迅速竄紅,並且成為主流,其優點絕對不是這三言兩語所能言盡的,這個部份請您自行參閱相關書籍或網站,我就不在此贅述了。
 再給您看個例子,這也是以往單單使用 HTML 碼所做不到的:
範例 原始碼

語法資料型態變數與常數外部變數環境變數運算元流程控制引用檔案函數物件