230 likes | 416 Vues
第一章 什麼是 PHP?. 教材. 葉建榮 著( 2010 ), PHP6 與 MySQL 基礎學習教室, 上奇資訊股份有限公司, ISBN 9789862570500 (書號 HB1004 ) 陳會安 著( 2013 ), PHP+MySQL 與 jQuery Mobile 跨行動裝置網站開發, 碁峰資訊股份有限公司, ISBN 9789862768563 (書號 ACL037900 ). 章節目錄. HTML CGI PHP. HTML 靜態網頁讀取流程. 1. 向 WWW 網站伺服器提出瀏覽網頁的請求. 2. 伺服器送出網頁文件.
E N D
教材 葉建榮 著(2010), PHP6 與 MySQL 基礎學習教室, 上奇資訊股份有限公司, ISBN 9789862570500 (書號 HB1004) 陳會安 著(2013), PHP+MySQL 與 jQuery Mobile 跨行動裝置網站開發, 碁峰資訊股份有限公司, ISBN 9789862768563 (書號 ACL037900)
章節目錄 HTML CGI PHP
HTML靜態網頁讀取流程 1.向WWW網站伺服器提出瀏覽網頁的請求 2.伺服器送出網頁文件 網站伺服器 個人電腦上各式網頁瀏覽器 <u>加 上 底 線</u> 3.瀏覽器解讀HTML文件並顯示結果 加 上 底 線 HTML靜態網頁讀取流程
什麼是動態網頁? • 動態網頁:Dynamic HTML • 不是一個獨立的技術 • 相對於『靜態網頁』 • 只要能讓頁面動態改變的方式都可稱為動態網頁 • 結合 Javascript、HTML DOM、CSS、HTML/XHTML • 針對網頁標籤做格式設定 • 在瀏覽器上產生互動的效果 • Dynamic HTML 技術不屬於 Server 端技術 • 不屬於PHP的範圍,但是很重要! • 提昇使用者體驗
CGI 共通閘道介面 WEB 伺服器端程式的起源 Common Gateway Interface 最早的 CGI 多以 C 語言或 Perl 撰寫而成 負責網頁跟網站伺服器的溝通 可動態地由網站伺服器取得資料 讓瀏覽器快速地從網站索取資料
CGI 共通閘道介面 1.瀏覽器向網站伺服器提出瀏覽網頁的請求 網站伺服器 2.網站伺服器依照請求執行CGI介面程式 個人電腦上各式網頁瀏覽器 5.網站伺服器傳回網頁文件給瀏覽器 4.CGI介面程式產生一份新的網頁文件 CGI介面程式 3.CGI介面程式執行或存取資料 檔案 資料庫 CGI流程
CGI 傳送資料的方式 • 以PHP為例 • 瀏覽器向 We Server 提出瀏覽網頁的請求 by URL • Web Server 收到 Req.、解析 Req.,若所需文件為 PHP,則交由 PHP 引擎執行程式 • PHP引擎解析PHP程式碼。 • 若內含資料庫存取,則連線到資料庫內進行資料庫的讀寫。 • PHP 程式輸出 HTML 給 Web Server • Web Server 將 HTML 送出給瀏覽器 • 瀏覽器接收 HTML、排版、呈現畫面
PHP網頁讀取流程 1.向WWW網站伺服器提出瀏覽網頁的請求 網站伺服器 6.網站伺服器將網頁文件,送出這個文件就是HTML檔案。 <u>你 好</u> 2.若這一份文件裡面有PHP標籤,則會呼叫PHP引擎作解析。 個人電腦上各式網頁瀏覽器 <u>你 好</u> 5.PHP引擎將文件解析成HTML格式後送回網站伺服器 7.瀏覽器接收到HTML文件,便會開始解讀,將最後的結果呈現在瀏覽器上。 <u><? echo "你 好"; ?></u> 你 好 3. PHP引擎解析PHP程式碼。 4.若有資料庫存取語,連線到資料庫內進行資料庫的讀寫 PHP網頁讀取流程
PHP的優勢 • 免費:PHP可免費取得,且可與網站伺服器(Apache)與資料庫(MySQL)緊密結合 • Apache與MySQL也可免費取得。 • 彈性:資料庫如果不使用MySQL,也可跟其他資料庫(例如Access、Microsoft SQL Server)緊密結合。 • 物件導向:支援物件導向觀念,包含類別、繼承等基本物件導向語法。 • 跨平台:支援Linux與Windows環境。 • 硬體設備需求不高。
PHP的優勢 Apache 市占率高!
PHP的優勢 • MySQL 快速、多執行緒、多使用者且功 能強大 • MySQL 可與其他程式輕易連結,官方網頁上提供 ODBC、JAVA 與 .NET 的驅動程式 • 可以透過 ODBC 與 Access、Microsoft SQL Server溝通 • 也可以在VB.NET或C#上撰寫視窗程式,存取 MySQL 資料庫。
PHP的優勢 • 資源豐富: • PHP 在網路上有眾多免費的套件可以使用,可以快速架設討論區、網站或購物車 • 官方網站 http://www.php.net • 線上文件、範例
PHP 的歷史 • PHP 原名「Personal Home Page」,是 RasmusLerdorf為了要維護個人網頁,用C語言開發的一些CGI工具,取代原先使用的 Perl 程式。 • 最初這些工具程式用來顯示 RasmusLerdorf的個人履歷,以及統計網頁流量。他將這些程式和一些表單直譯器整合起來,稱為 PHP/FI。 • PHP/FI可以和資料庫連接,產生簡單的動態網頁程式。
PHP 的歷史 • RasmusLerdorf在1995年6月8日將 PHP/FI 發佈於新聞群組comp.infosystems.www.authoring.cgi,希望可以透過社群來加速程式開發與尋找錯誤。 • 1996年4月,RasmusLerdorf在新聞群組上發佈了PHP 第二版。 • 這個版本已經有了今日PHP的一些雛型,像是類似 Perl 的變數命名方式、表單處理功能、以及嵌入到 HTML中執行的能力。程式語法上也類似 Perl,有較多的限制,不過更簡單、更有彈性。
PHP的歷史 1997年,任職於 Technion IIT 公司的兩個以色列程式設計師:ZeevSuraski和 AndiGutmans重新編輯 PHP 解析引擎,並將 PHP 改稱為「PHP: Hypertext Preprocessor」,在 1998年6月正式釋出 PHP 3。 ZeevSuraski和 AndiGutmans在 PHP 3 釋出後開始改寫PHP 的核心,他們在以色列的 Ramat Gan成立 Zend Technologies 管理 PHP 的開發。
PHP的歷史 • 在2000年5月22日,以 Zend Engine 1.0 為基礎的 PHP 4 正式釋出 • PHP4的核心大幅更動,讓程式執行速度更快,而且還有更強的新功能、更豐富的函數庫。 • PHP 是免費共享的軟體,很多人投入 PHP 網站套件的開發,使得 PHP 成為眾多資料庫網頁中使用率最高的檔案格式。
PHP的歷史 • PHP5 於 2004年7月13日公布,向下相容於PHP 4 • 很多網站仍使用 PHP4。 • PHP 官方已宣佈將於2007年12月31日起結束 PHP 4 的版本開發 • 2008年 PHP 官方宣告進行 PHP6 開發 • 目前以 PHP5 為主流技術
重點 1980年,Tim Berners-Lee 為了解決不同電腦間不同格式文件閱讀交流上的困難,在歐洲核子物理實驗室工作時建議建立一個以HTML為基礎的系統讓科學家之間能夠分享和更新他們的研究結果。 HTML文件只是一種純文字的檔案,並沒有包含影像、動畫或其他任何東西。 當瀏覽器在解讀HTML時,發現裡面有需要顯示影像、動畫的地方,會再送出要求,下載影像、動畫。一直重覆,直到所有需要的東西都下載完畢為止。
重點 動態網頁基本上是 Javascript、HTML DOM、CSS 以及 HTML/XHTML 的結合應用。可針對網頁標籤做格式設定,並且在瀏覽器上產生互動的效果。
重點 CGI是「Common Gateway Interface」的縮寫,中文稱之為『共通閘道介面』。這個介面負責網頁跟網站伺服器的溝通,可動態地由網站伺服器取得資料,也可讓瀏覽器快速地從網站索取資料。 PHP可免費取得,且可與網站伺服器(Apache)與資料庫(MySQL)做很緊密的結合,而Apache與MySQL均可免費取得。 PHP與Apache、MySQL一樣具備跨平台特性,可支援Linux與Windows環境。 PHP官方已宣佈將於2007年12月31日起結束PHP 4 版本開發。
問題與討論 是什麼因素促成網頁的誕生? 靜態網頁如何存取伺服器資料? 什麼是動態網頁? 什麼是CGI? 請說明網頁處理流程。