當前位置:
首頁 > 知識 > PHP 快速入門及項目實戰

PHP 快速入門及項目實戰

PHP 是一種伺服器端、跨平台、面向對象、HTML 嵌入式的腳本語言。本 章將向讀者簡單介紹 PHP 語言、PHP 的語言優勢、下載 PHP 及相關軟體、搭 建 PHP 的開發環境,了解常用的配置信息,熟悉 PHP 開發環境的配置結構等 知識。其主要目的是讓讀者先在宏觀上對 PHP 語言有一個整體的了解,使讀者 對 PHP 有一個總體的認識,找到學習 PHP 的切入點。

PHP 概述

一、 如何學好 PHP

1.1 什麼是 PHP

PHP是Hypertext Preprocessor(超文本預處理器)的縮寫,是一 種伺服器端、跨平台、面向對象、HTML 嵌入式的腳本語言。其獨特 的語法混合了 C 語言、Java 語言和 Perl 語言的特點,是一種被廣泛應 用的開源式的多用途腳本語言,尤其適合 Web 開發。

1.2 PHP 版本

PHP於1994年由Rasmus Lerdorf創建。最初只是一個簡單的用Perl語言編寫的程序,用 來統計網站的訪問者。後來又用 C 語言重新編寫,增加了多種功能,包括可以訪問資料庫等。 1995 年以 Personal Home Page Tools (PHP Tools)為名開始對外發表第一個版本,Lerdorf 編寫了 一些介紹此程序的文檔,並且發布了 PHP1.0。在早期的版本中,提供了訪客留言本、訪客計 數器等簡單功能。後來越來越多的網站使用 PHP,並且強烈要求增加一些特性,如循環語句和 數組變數等,在新的成員加入到開發行列之後,在 1995 年中又發布了 PHP2.0,定名為 PHP/FI (Form Interpreter)。PHP/FI 加入了對 mSQL 的支持,從此建立了 PHP 在動態網頁開發上的地位。 到 1996 年底,大約有 15000 個網站在使用 PHP/FI;1997 年中,使用 PHP/FI 的網站總數超過 5 萬個。而在1997年中,開始了第三版的開發計劃,開發小組加入了Zeev Suraski及Andi Gutmans, 而第三版就定名為 PHP3。

【PHP4】

2000 年,PHP4.0 問世,其中增加了許多新的特性。PHP4.0 整個腳本程序的核心大幅變動, 加快了程序的執行速度,滿足了更快的要求。其在最佳化之後的效率,已較傳統 CGI 或 ASP 等程序有更好的表現,而且還有更強的新功能、更豐富的函數庫。事實證明,PHP 在 Web CGI 的領域上掀起了巔覆性的革命。對於一位專業的 Web Master 而言,它將也是必修課程之一。

【PHP5】

在 PHP 的發展過程中又推出了 PHP5,其功能更加完善,很多缺陷和 BUG 都被逐一修復。 在PHP 5中,理想的選擇是PHP5.2.X系列,其兼容性好,每次版本的升級帶來的都是安全性 和穩定性的改善。但如果產品是自己開發使用,則 PHP5.3.X 在某些方面更具優勢,在穩定性上 更勝一籌,增加了很多 PHP5.2.X 所不具有的功能,如內置 php-fpm、更完善的垃圾回收演算法、 命名空間的引入、sqlite3 的支持等,是部署項目值得考慮的版本(本書中使用是 PHP5 版本)。

【PHP6】

時至今日,PHP 的版本已經更新到 PHP6。PHP6 是一個理想化的產品,雖然目前還沒有走 上生產線,但其更新的特性和功能極大地吸引著廣大的 PHP 編程愛好者。

? 完全拋棄全局變數。

? 刪除 Magic Quotes。

? 增加一個輸入過濾擴展代替 Magic Quotes,提供一個機制讓開發者很容易自己關閉或開啟這個功能,而不是像現在這樣先判斷伺服器的 GPC 是否打開。

? 默認加入 opcode cache,對代碼執行進行速度上的優化。目前大多用的是 PECL 或APC,但有一個官方的解決方案顯然是比較好的。

? 刪除安全模式 safe_mode,改進 open_basedir。

? 刪除在PHP3/4中已經被標記為過時deprecated的內容。

? 標識符(程序中使用的變數名、函數名、標號等)大小寫敏感。

? 刪除各種函數的別名。

1.3 PHP 的應用領域

在互聯網高速發展的今天,PHP 的應用領域可謂是非常廣泛,主要包括: ? 中小型網站的開發。

? 大型網站的業務邏輯結果展示。

? Web辦公管理系統。

? 硬體管控軟體的GUI。

? 電子商務應用。

? Web應用系統開發。

? 多媒體系統開發。

? 企業級應用開發。

PHP 正吸引著越來越多的 Web 開發人員,其無處不在,它可應用於任何地方、任何領域,

並且已擁有幾百萬個用戶,其發展速度要快於在它之前的任何一種計算機語言。PHP 能夠給企 業和最終用戶帶來無窮無盡的好處。據最新數據統計,全世界有超過 2200 萬家的網站和 1.5 萬家公司在使用 PHP 語言,包括百度、雅虎、Google、YouTube、Digg 等著名的網站,也包括 漢沙航空電子訂票系統、德意志銀行的網上銀行、華爾街在線的金融信息發布系統等,甚至包 括軍隊系統這類苛刻的環境。除此之外,PHP 也是企業用來構建服務導向型、創造和混合 Web 融於新一代的綜合性商業應用的語言,其也逐漸發展成為開源商業應用發展的方向。

1.4 PHP5 的新特性

目前主流仍然是 PHP5,所以下面著重講述 PHP5 中新的對象模型的特性。

? 構造函數和析構函數。

? 對象的引用。

? 對象的克隆(clone)。

? 對象中的私有、公共及受保護模式(public/private和protected關鍵字)。 ? 介面(Interface)。

? 抽象類。

? __call。

? __set和__get。

? 靜態成員。

1.5 下載 PHP 及相關軟體

搭建 PHP 環境涉及到系統平台、Web 服務軟體和資料庫軟體及 PHP 本身,用戶可根據自 身現有的計算機軟、硬體環境,自由選擇相應的軟體。

通常選擇 Windows NT 為實驗平台,這樣可以下載 PHP5.0 以上的 Windows 版本。資料庫 可以下載 MySQL 的 Windows 版本(www.MySQL.org)或者使用微軟公司的 MsSQL。Web 服 務軟體可以直接下載 Apache 的 Windows 版本(www.apache.com)。

如果想搭建 Linux 下運行的實戰環境,那麼所有這些軟體必須下載其對應於 Linux 的版本, 有的可能需要在 Linux 下編譯生成。

下面筆者以 Windows 版本為例,簡單說明一下 PHP 優秀的集成開發環境及相關信息。

(1)XAMPP 是一個易於安裝且包含 MySQL、PHP 和 Perl 的 Apache 發行版,只需根據 提示操作,即可安裝成功。而不必對 PHP、Apache、MySQL 配置文件進行修改及相關煩瑣的 操作(例如,將 PHP 的配置文件 php.ini 保存到操作系統 C 盤下的 WINDOWS 文件夾下,手動 開啟MySQL組件、Oracle組件和GD2支持等),大大節省了初學者在配置運行環境時的時間, 真正意義上做到了一鍵安裝、開發運行的理念。XAMPP 的官方下載地址如圖 1.4 所示。

(2)AppServ 將 Apache、PHP、MySQL 和 phpMyAdmin 等伺服器軟體和工具安裝配置完 成後打包處理,同 XAMPP 一樣,安裝相當簡單。

1.6 代碼編輯工具

選擇 PHP 的代碼編輯工具,筆者認為應該考慮 4 個方面的因素:

第一,語法的高亮顯示。應用語法的高亮顯示,可以對代碼中的不同元素採用不同的顏色 進行顯示,例如,關鍵字用藍色,對象方法用紅色標識等。

第二,格式排版功能。該功能可以使程序代碼的組織結構清晰易懂,並且易於程序員進行 程序調試,排除程序的錯誤異常。

第三,代碼提示功能。該功能可以在程序員編寫某個函數時,提供這個函數的語法信息, 甚至可以在程序員輸入某個字元時,給出這個字元相關的函數信息,從而幫助程序員編寫正確 的函數,使用正確的語法。

第四,界面設計功能。利用該功能不但可以編寫 PHP 代碼,還可以進行界面的設計。

以上是在選擇代碼編輯工具時,用戶應考慮的問題,需要注意的是,這 4 個因素不可能都 完全滿足,用戶應根據自己的實際情況進行選擇。

下面介紹幾款常用的代碼編輯工具,供廣大讀者參考。

? Macromedia Dreamweaver

Macromedia Dreamweaver 是一款專業的網站開發編輯器,它將可視布局工具、應用程序開

發功能和代碼編輯支持組合在一起,其功能強大,使得各個層次的開發人員和設計人員都能夠 快速創建出吸引人的、標準的網站和應用程序。Macromedia Dreamweaver 採用了多種先進的技 術,能夠快速、高效地創建極具表現力和動感效果的網頁,使網頁創作過程簡單無比,同時, 它還提供了代碼自動完成功能,不但可以提高編寫速度,而且還減少了錯誤代碼出現的幾率。 Macromedia Dreamweaver 既適用於初學者製作簡單的網頁,又適用於網站設計師、網站程序員 開發各類大型應用程序,極大地方便了程序員對網站的開發與維護。

Macromedia Dreamweaver從MX版本開始支持PHP+MySQL的可視化開發,對於初學者 確實是比較好的選擇,因為如果是一般性開發,幾乎是可以不寫一行代碼也可以寫出一個程序, 而且都是所見即所得的。其所包含的特徵包括:語法加亮、函數補全、形參提示、全局查找替 換、處理 Flash 和圖像編輯等。同時,它還為 PHP、ASP 等腳本語言提供輔助支持。

下載地址:http://www.adobe.com/downloads/。 ? ZendStudio

ZendStudio 是目前公認的最強大的 PHP 開發工具,是一款收費軟體。其具備功能強大的專 業編輯工具和調試工具,包括:編輯、調試,配置 PHP 程序所需要的客戶及伺服器組件,支 持 PHP 語法加亮顯示,尤其是功能齊全的調試功能,能夠幫助程序員解決在開發中遇到的很 多問題。

下載地址:http://www.zend.com/store/products/zend-studio.php。

? PHPEdit

PHPEdit 是一款 Windows 下優秀的 PHP 腳本 IDE(集成開發環境)。該軟體為快速、便捷

的開發 PHP 腳本提供了多種工具。其功能包括:語法關鍵詞高亮;代碼提示、瀏覽;集成 PHP調試工具;幫助生成器;自定義快捷方式;150 多個腳本命令;鍵盤模板;報告生成器;快速 標記;插件等。

官方網址:http://phpedit.svoi.net

1.7 下載 PHP 用戶手冊

關於獲取 PHP 幫助信息的途徑,除了可以到書店購買 PHP 的相關教材外,還可以直接到 PHP 的官方網站中下載 PHP 中文手冊,PHP 機構的官方網址為 http://www.php.net,初學者可 以在該手冊中查找到相關函數的詳細說明。由於 PHP 代碼公開,而且完全免費,所以用戶可 以直接在 PHP 的官方網站中下載 PHP 中文手冊。

PHP 中文手冊是學習 PHP 的良師,許多 PHP 的高手仍然隨時備查。該手冊通常為 PHP5.0, 有中、英文版本,中文版中還有 HTML、ZIP 和 CHM 等幾種格式,目前很多網站都可以進行 下載。筆者建議下載 CHM 格式,查閱較為方便。

讀者在學習的過程中可以通過下載PHP中文手冊和MySQL中文手冊來獲得幫助。為了便 於學習,下面推薦兩個網址供參考。

(1)PHP 中文手冊下載地址:http://www.php.net

(2)MySQL 中文手冊下載地址:http://www.mysql.com

PHP 快速入門及項目實戰

二、環境的搭建

2.1 AppServ——Windows 版 PHP 集成化安裝包

AppServ 將 Apache、PHP、MySQL 和 phpMyAdmin 等伺服器軟體和工具安裝配置完成後 打包處理,開發人員只要到網站上下載該軟體並安裝,即可完成 PHP 開發環境的快速搭建, 非常適合初學者使用。

註:在使用 AppServ 搭建 PHP 開發環境時,必須確保系統中沒有安裝 Apache、PHP 和 MySQL, 否則,要先將這些軟體卸載,然後應用 AppServ。

PHP 開發環境集成安裝包:目前網路上流行的集成安裝包有十幾種,其中比較常用是 EasyPHP、AppServ 和 XAMPP,它們都可以搭建 PHP 的開發環境。但是,根據實際的應用情 況,還是 AppServ 相對比較好用一些,因為諸如 EasyPHP 或 XAMPP,在對一些類庫的支持上 會產生一些錯誤,導致類庫不能正常使用。例如,在 EasyPHP 或 XAMPP 中應用 jpgraph 類庫 開發圖像時,就會出錯。

下面講解 AppServ 集成化安裝包搭建 PHP 開發環境的具體操作步驟:

(1)雙擊 AppServ-win32-2.5.10.exe 文件,打開 AppServ 啟動頁面。

(2)單擊Next 按鈕,打開 AppServ 安裝協議頁面。

(3)單擊I Agree 按鈕,打開頁面。設置 AppServ 的安裝路徑(默 認安裝路徑一般為:E:AppServ),當 AppServ 安裝完成後,Apache、MySQL、PHP 都將以子 目錄的形式存儲到該目錄下。

(4)單擊Next 按鈕,打開頁面。選擇要安裝的程序和組件 (默認為全選)。

(5)在Next 按鈕,打開頁面。填寫計算機名稱,添加郵

箱地址,設置 Apache 的埠號,默認為 80 埠。

(6)單擊Next 按鈕,打開頁面。設置 MySQL 資料庫 root 用戶的登錄密碼及字符集。

(7)單擊Install 按鈕開始安裝。

(8)安裝完成後可以在開始菜單的 AppServ 相關操作列表中啟動 Apache 及 MySQL 服務。

2.2 XAMPP——Linux 版 PHP 集成化安裝包

本節中主要介紹在 Linux 操作系統下通過 XAMPP 配置 PHP 的開發環境及其基本應用。 XAMPP(Apache+MySQL+PHP+PERL)是一個功能強大的建站集成軟體包,它可以在 Windows、 Linux、Solaris 3 種操作系統下安裝使用,支持多語言,包括英文、簡體中文、繁體中文、韓文、 俄文、日文等。

在 Linux 操作系統下,使用集成軟體 XAMPP 的 Linux 版來配置 PHP 開發環境。Linux 下 安裝 XAMPP 的步驟如下:

(1)在 Linux 操作系統下,選擇「主菜單」/「系統工具」/「終端」命令。 (2)在命令模式下,首先進入到系統的根目錄下。

(3)通過 mkdir 命令在根目錄下創建一個 opt 目錄。

(4)通過 tar xvfz 命令將 XAMPP 解壓縮到 opt 目錄下。

(5)按 Enter 鍵,執行 XAMPP 的解壓縮,直到安裝成功。

(6)安裝成功後,查看/opt/lampp 目錄。

(7)在 Mozilla 瀏覽器中輸入 http://127.0.0.1/xampp/index.php

三、PHP 開發環境的關鍵配置信息

3.1 Apache 伺服器的基本配置

Apache 伺服器的設置文件在 Linux 操作系統中位於/usr/local/apache/conf/(在 Windows 操作系 統中位於/etc/httpd/conf)目錄下,基本上使用以下 3 個配置文件來配置 Apache 伺服器的行為。

? access.conf:用於配置伺服器的訪問許可權,控制不同用戶和計算機的訪問限制。 ? httpd.conf:用於設置伺服器啟動的基本環境。

? srm.conf:主要用於進行文件資源上的設定。

3.2 php.ini 文件的基本配置

php.ini 文件是 PHP 在啟動時自動讀取的配置文件。它是一個 ASCLL 文本文件,分為多個

部分,每一部分包括相關的參數。每一部分的名稱位於最前面的方括弧內,接著是名稱對數字每一名稱都獨佔一行。使用規則 PHP 代碼,對參數名稱非常敏感,不能包含有空格,但是參 數可以是數字、字元串或布爾邏輯數。分號位於每一行的開始,作為指定標記,這就使選擇使 用或者不使用 PHP 的這些特性變得很方便,而無須通過刪除該行來實現。對某特性進行注釋 (即添加分號),則該行將不會被編譯執行。每次修改完 php.ini 文件,必須重新啟動 Apache 伺服器,以使新的設置生效。

四、解決 PHP 的常見配置問題

程序運行出錯是許多程序員最為頭疼的問題,下面介紹 PHP 常見的配置問題。通過本節

的學習,可以分清哪些錯誤是由於 PHP 環境配置不當產生的,從而避免不必要的時間資源浪 費,高效地完成 Web 應用程序的開發。

4.1 解決 Apache 伺服器埠衝突

IIS 的默認埠號為 80,同 Apache 伺服器默認埠號相同。由於採用了相同的埠號 80, 因此,在運行網頁時就會發生衝突。

如果用戶機器上安裝了 IIS,就需要修改 IIS 的默認埠,否則將導致 Apache 伺服器無法 正常工作。更改 IIS 的默認偵聽埠 80,可以在 IIS 的管理器中進行設置,或者停止 IIS 的服 務也可以。

用戶也可以在安裝 Apache 伺服器時將默認的埠號進行更改,從而解決兩個伺服器共用 一個埠號而產生衝突的問題。

4.2 設置 PHP 的系統當前時間

由於 PHP5.0 對 date函數進行了重寫,因此,目前的日期時間函數比系統時間少 8 個小時。 在 PHP 語言中默認設置的是標準的格林威治時間(即採用的是零時區),所以要獲取本地當前 的時間必須更改 PHP 語言中的時區設置。方法如下:

在 php.ini 文件中,將[date]下的;date.timezone =選項修改為 date.timezone =Asia/Hong_ Kong,然後重新啟動 Apache 伺服器。

設置完成後,在輸出系統當前的時間就不會出現時差問題。

4.3 增加 PHP 擴展模塊

增加 PHP 擴展模塊也稱為動態擴展,用來動態載入某個模塊,它包含一個指令:extension。

在 Windows 操作系統下,載入模塊的方法為:打開 php.ini 文件,定位到如下位置,去 掉;tension=php_java.dll 前面的分號,保存後重新啟動 Apache 伺服器,即完成擴展模塊的載入 操作。

;tension=php_java.dll

在 Linux 操作系統下,載入模塊的方法如下。 extension=php_java.so

需要說明的是,只載入這一行代碼並不一定能啟用相關的擴展包,有時還需要確保在操作 系統中安裝相關的軟體,例如,為啟用 java 支持,需要安裝 JDK。

PHP 基礎

一、PHP 工作原理

PHP 即 Hypertext Preprocessor(超文本預處理器)的縮寫,是基於伺服器端運行的腳本程 序語言,用於實現資料庫和網頁之間的數據交互。

一個完整的 PHP 系統由以下幾部分構成。

? 操作系統:網站運行伺服器所使用的操作系統。PHP不要求操作系統的特定性,其跨

平台的特性允許 PHP 運行在任何操作系統上,如 Windows、Linux 等。

? 伺服器:搭建 PHP 運行環境時所選擇的伺服器。PHP 支持多種伺服器軟體,包括

Apache、IIS 等。

? PHP包:實現對PHP文件的解析和編譯。

? 資料庫系統:實現系統中數據的存儲。PHP支持多種資料庫系統,包括MySQL、SQL

Server、Oracle 及 DB2 等。

? 瀏覽器:瀏覽網頁。由於 PHP 在發送到瀏覽器時已經被解析器編譯成其他的代碼,

所以 PHP 對瀏覽器沒有任何限制。

二、PHP 標記

所謂標記,就是為了便於與其他內容區分所使用的一種特殊標記,PHP 共支持 4 種標記風

格,下面一一介紹。

1.XML 標記風格

echo "這是XML標記風格";

?>

從上面的代碼中可以看到,XML 標記風格以「」結尾,中間包含的 代碼就是 PHP 語言代碼。推薦使用這種標記風格,因為它不能被伺服器禁用,在 XML、XHTML 中都可以使用。

2.腳本標記風格

echo "這是腳本風格的標記";

腳本標記風格以「」結尾。

3.簡短標記風格

echo "這是簡短風格的標記";

?>

如果想使用這種標記風格開發 PHP 程序,則必須保證 PHP 配置文件 php.ini 中的 「short_open_tag」選項值設置為「on」。

4.ASP 標記風格

echo "這是ASP風格的標記";

%>

如果想使用這種標記風格開發 PHP 程序,則必須保證 PHP 配置文件 php.ini 中的「asp_tags」 選項值設置為「on」。

三、代碼注釋

注釋可以理解為代碼中的解釋和說明,是程序中不可缺少的一個重要元素,使用注釋不僅 能夠提高程序的可讀性,而且還有利於程序的後期維護工作。注釋不會影響程序的執行,因為 注釋部分的內容不會被解釋器執行。

3.1 使用 PHP 注釋

PHP 的注釋有 3 種風格,下面分別進行介紹。

1.C++風格的單行注釋(//)

phpecho "使用C++風格的注釋"; //echo "這就是C++風格的注釋";

?>

運行結果為:使用 C++風格的注釋

上面代碼使用 echo 輸出語句分別輸出了「使用 C++風格的注釋」和「這就是 C++風格的 注釋」,但是因為使用注釋符號「//」將第 2 個輸出語句注釋掉了,所以不會被程序執行。

2.C 風格的多行注釋(/*...*/)

echo "這是第一行注釋信息"; echo "這是第二行注釋信息"; */echo "使用C風格的注釋";

?>

運行結果為:使用 C 風格的注釋

上面代碼雖然使用 echo 輸出語句分別輸出了「這是第一行注釋信息」、「這是第二行注釋 信息」和「使用 C 風格的注釋」,但是因為使用了注釋符號「/*...*/」將前兩個輸出語句注釋掉 了,所以沒有被程序執行。

3.Shell 風格的注釋(#)

echo "這是Shell腳本風格的注釋"; #這裡的內容是看不到的

?>

運行結果為:這是 Shell 腳本風格的注釋 因為使用了注釋符號「#」,所以在「#」注釋符號後面的內容是不會被程序執行的。

3.2 有效使用注釋

程序注釋是書寫規範程序時很重要的一個環節。注釋主要是針對代碼的解釋和說明,用來 解釋腳本的用途、版權說明、版本號、生成日期、作者和內容等,有助於用戶對程序的閱讀和 理解。合理使用注釋有以下幾項原則:

(1)注釋語言必須準確、易懂、簡潔。

(2)注釋在編譯代碼時會被忽略,不會被編譯到最後的可執行文件中,所以注釋不會增 加可執行 文件的大小。

(3)注釋可以書寫在代碼中的任意位置,但是一般寫在代碼的開頭或者結束位置。

(4)修改程序代碼時,一定要同時修改相關的注釋,以保持代碼和注釋的同步。

(5)在實際的代碼規範中,要求注釋占程序代碼的比例達到 20%左右,即 100 行程序中包含20 行左右的注釋。

(6)在程序塊的結束行右方加註釋標記,以表明某程序塊的結束。

(7)避免在注釋中使用縮寫,特別是非常用縮寫。

(8)注釋與所描述內容進行同樣的縮排,可使程序排版整齊,並方便注釋的閱讀與理解。

關注微信公號「書問」免費領取萬本好書

PHP 快速入門及項目實戰

書名:PHP快速入門及項目實戰

作者:潘凱華, 等編著

出 版 社:清華大學出版社

定價:¥49.80

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 書問科普 的精彩文章:

通曉經濟世界裡的大道理——通貨膨脹之痛
養老服務供給及其產業鏈

TAG:書問科普 |