PHP(Hypertext Preprocessor,超文本預處理語言)承擔的任務是在用戶向Web服務器發出超文本請求之后,在Web服務器向用戶返回被請求的頁面之前,由PHP引擎來對用戶請求的頁面進行預處理。它是一種HTML內嵌式的語言,可以很方便地被嵌入到HTML頁面中。這一點與ASP類似。但是,PHP的開源特性、跨平臺特性、小巧的體積和高效的運行效率,以及開源社區的廣泛支持和它支持眾多的數據庫等特性卻是它被廣泛使用的根本原因。
1.開源、免費
PHP發布于1995年。從那之后,發展非常迅速。這都歸功于它的開源特性。在開源協議的框架下,用戶甚至不需任何花費,就可以獲得各種升級和安全補丁,保證PHP引擎的安全。
2.廣泛支持
PHP的快速發展也離不開大家的支持。在互聯網上,人們討論最多的編程語言就是PHP。如果你在使用過程中發現了任何解決不了的問題,打開搜索引擎,輸入問題的關鍵詞,一定可以找到解決方案的。
3.支持眾多的數據庫
PHP對數據庫的支持也是其深受歡迎的原因之一。PHP支持通過ODBC連接各種類型的數據庫,同時也針對MySQL數據庫開發了便捷的連接和操作方式。由于其對MySQL數據庫的原生支持,使MySQL數據庫成為了最受歡迎的開源數據庫軟件。
本書特色
1.詼諧幽默,接地氣兒
本書試圖以生動活潑的語言、接地氣兒的講解方式來為讀者呈現PHP的世界。本書講解知識點時和日常生活中的方方面面聯系起來,讓讀者更加容易理解抽象的編程世界。作者希望通過這種接地氣兒的語言和內容組織形式,讓讀者在程序員的道路上不至于越走越累,從而充分領略到PHP的魅力。
2.夯實基礎,注重實用
本書涵蓋讀者初涉PHP開發所需要掌握的各種基礎知識。通過本書,可以為讀者后續的PHP應用開發夯實基礎。另外,本書講解知識點時列舉了大量生動有趣的實例,可以大大提高讀者的實際編程能力。
3.代碼精講,注釋豐富
本書中的代碼大部分給出了詳細的解釋,并且進行了豐富的注釋,便于讀者閱讀和理解,也可以培養讀者從一開始就養成良好的編碼習慣。
4.實例真實,生動有趣
就像作家寫小說需要從實際生活中汲取生活經驗一樣,程序員在編寫程序的過程中也需要從實際生活經驗中找靈感。本書中的實例大多來源于日常生活。這些例子生動有趣,可以提升讀者對日常生活的觀察力,從而在日常生活中找到編程的靈感。
5.視頻教學,高效直觀
作者專門為本書錄制了配套多媒體教學視頻,以幫助讀者更加直觀、高效地閱讀本書,達到事半功倍的學習效果。
6.實戰練習,鞏固提高
本書除了第14章之外,其他各章最后都提供了練習題,可以幫助讀者鞏固和提高所學的知識,也可以方便相關老師教學時使用。
本書內容及體系結構
第1篇 初識PHP腳本語言(第1~3章)
本篇介紹了PHP腳本的工作原理,并通過在Windows平臺上搭建PHP開發環境進一步加深讀者對PHP腳本語言工作原理的認識。
第2篇 常量、變量與數組(第4~6章)
本篇介紹了PHP腳本中經常使用的常量和變量,以及作為變量集合的數組。在這三章中,讀者可以了解這些概念背后的意義及何時需要使用它們。本篇通過大量的示例和有的放矢的實戰練習,幫助讀者更好地掌握這些知識。
第3篇 PHP編程基礎(第7~10章)
本篇介紹了PHP中的執行流程和控制機制。通過這些控制機制,可以實現在指定條件下運行相應的腳本、循環使用腳本及腳本的大規模復用。有了這些流程控制機制,程序員便可以用較少的代碼來完成各種紛繁復雜的任務,提高開發效率。另外,本篇還介紹了Web編程的基礎和數據存儲的相關知識,為使用PHP進行Web開發打好基礎。
第4篇 面向對象編程(第11~13章)
本篇主要介紹了PHP與操作系統、PHP與基于對象的編程(OOP)及PHP與MVC框架等內容。通過這三章內容的學習,讀者可以更加深刻地認識PHP面向對象編程的特性。
第5篇 開源PHP應用(第14章)
本篇主要介紹了WordPress和Drupal兩款知名的PHP應用。讀者在掌握了前面各章內容后,可以使用這兩款PHP應用來快速搭建自己的網站。
本書超值DVD光盤內容
* 本書各章涉及的實例源文件;
* 10小時本書配套教學視頻;
* 12個PHP典型模塊源程序及8小時教學視頻;
* 6個PHP大型項目案例源程序及5小時教學視頻;
* 25.5小時MySQL入門教學視頻。
本書讀者對象
* 沒有任何基礎的PHP初學者;
* PHP開發的愛好者;
* 剛入職的PHP初中級程序員;
* 大中專院校的師生;
* 相關培訓學校的學員。
本書作者
本書由涂文家主筆編寫,其他參與編寫的人員有丁士鋒、胡可、姜永艷、靳鯤鵬、孔峰、馬林、明廷堂、牛艷霞、孫澤軍、王麗、吳紹興、楊宇、游梁、張建林、張起棟、張喆、鄭偉、鄭玉暉、朱雪琴、戴思齊、丁毓峰。
雖然筆者花費了大量精力寫作本書,并力圖將疏漏減少到最少,但仍恐百密一疏。如果您在閱讀本書的過程中發現有任何疏漏,或者對本書講解有任何疑問,都可以與作者取得聯系。
編著者
第1篇 初識PHP腳本語言
第1章 什么是PHP( 教學視頻:11分鐘)
1.1 PHP的定義
1.1.1 動態網頁vs.靜態網頁
1.1.2 通用編程語言vs.基于域的編程語言
1.1.3 服務器端腳本語言vs.客戶端腳本語言
1.2 為什么要使用PHP
1.2.1 PHP腳本的特點
1.2.2 PHP腳本和Web應用程序
1.2.3 PHP腳本和數據庫應用
1.2.4 PHP腳本和文件系統
1.2.5 PHP腳本和系統命令
1.3 什么是PHP文件
1.3.1 PHP文件的特征
1.3.2 PHP文件是如何工作的
1.4 習題
第2章 搭建PHP運行環境( 教學視頻:36分鐘)
2.1 準備必要的文件
2.1.1 獲取Apache HTTP服務器軟件
2.1.2 獲取PHP處理引擎
2.1.3 獲取MySQL數據庫軟件
2.1.4 獲取數據庫管理軟件phpMyAdmin
2.2 安裝Apache HTTP服務器
2.2.1 安裝Apache HTTP服務器
2.2.2 安裝驗證
2.2.3 配置Apache HTTP服務器
2.3 安裝和配置PHP腳本處理引擎
2.3.1 解壓PHP引擎包
2.3.2 配置PHP引擎
2.3.3 配置驗證
2.4 安裝和配置MySQL數據庫
2.4.1 安裝MySQL數據庫
2.4.2 配置驗證
2.5 安裝和配置phpMyAdmin
2.5.1 解壓phpMyAdmin壓縮包
2.5.2 配置phpMyAdmin
2.6 使用套件包搭建PHP運行環境
2.6.1 PHPnow
2.6.2 WampServer
2.7 在微軟IIS上配置PHP運行環境
2.7.1 開啟互聯網信息服務
2.7.2 為微軟IIS服務添加PHP支持
2.7.3 驗證微軟IIS服務對PHP的支持
2.8 安裝集成開發環境(IDE)
2.8.1 IDE是什么
2.8.2 PHP開發中常用的IDE
2.8.3 創建PHP項目
2.9 習題
第3章 動手寫第一個PHP腳本( 教學視頻:13分鐘)
3.1 何謂PHP命令
3.1.1 簡單命令
3.1.2 復雜命令
3.2 如何寫代碼
3.2.1 PHP標記對
3.2.2 注釋腳本
3.3 實戰練習:向世界說Hello!
3.3.1 echo命令初識
3.3.2 實戰練習--向世界說Hello!
3.4 習題
第2篇 常量、變量與數據
第4章 雙生姐妹花--常量與變量( 教學視頻:35分鐘)
4.1 什么是常量
4.1.1 如何定義常量
4.1.2 何時使用常量
4.1.3 PHP預置常量
4.2 什么是變量
4.2.1 變量的命名
4.2.2 如何定義變量
4.2.3 詳談變量輸出
4.2.4 何時使用變量
4.2.5 如何銷毀變量
4.3 實戰練習:常量與變量
4.3.1 背景介紹
4.3.2 實現過程
4.4 習題
第5章 數據五虎將( 教學視頻:74分鐘)
5.1 概述
5.1.1 數據全家福
5.1.2 為變量指定數據類型
5.2 玩轉數字--整型和浮點型數據
5.2.1 四則運算
5.2.2 復雜運算
5.2.3 數字格式化
5.3 咬文嚼字--字符串型數據
5.3.1 文字游戲
5.3.2 文本格式化
5.4 操控時間--時間型數據
5.4.1 時間格式記
5.4.2 時間型變量
5.5 判別真假--布爾型數據
5.6 實戰練習:計算稅后收入
5.6.1 背景介紹
5.6.2 實現過程
5.7 習題
第6章 抱團效應--數組( 教學視頻:77分鐘)
6.1 多胎胞--數組的聲明與使用
6.1.1 創建數組
6.1.2 查看數組
6.1.3 修改數組
6.2 排排坐--數組的遍歷、排序與比較
6.2.1 如何遍歷數組中的元素
6.2.2 如何給數組中的元素排序
6.2.3 如何比較數組
6.3 串串門--數組與其他數據類型的互轉
6.3.1 為什么要轉換
6.3.2 數組與字符串的互轉
6.3.3 數組與變量的互轉
6.4 分分合合——數組的拆分與合并
6.4.1 如何拆分數組
6.4.2 如何合并數組
6.5 多維數組
6.5.1 多維數組 vs. 一維數組
6.5.2 創建多維數組和查看數組結構
6.5.3 如何遍歷多維數組
6.6 實戰練習:級聯下拉菜單
6.6.1 界面預覽
6.6.2 實現過程
6.7 習題
第3篇 PHP編程基礎
第7章 條件與循環( 教學視頻:59分鐘)
7.1 精細化運算——條件
7.1.1 什么是條件
7.1.2 如何定義條件
7.1.3 簡單條件語句if…else…
7.1.4 復雜條件語句switch
7.1.5 實戰練習:用戶信息驗證
7.2 重復性運算——循環
7.2.1 for循環
7.2.2 while循環
7.2.3 do … while循環
7.2.4 避免無限循環
7.2.5 實戰練習:遍歷數組的另類方法
7.3 習題
第8章 腳本的重用( 教學視頻:76分鐘)
8.1 自定義函數
8.1.1 小試牛刀
8.1.2 參數與返回值
8.1.3 局部變量、全局變量和靜態變量
8.1.4 引用外部變量
8.1.5 函數的引用
8.2 類
8.2.1 如何定義類
8.2.2 魔術方法__construct()和__destruct()
8.2.3 類的繼承
8.2.4 類的私有元素
8.2.5 類的靜態元素
8.3 對象
8.3.1 創建對象
8.3.2 克隆對象
8.3.3 銷毀對象
8.4 實戰練習:記賬工具(上)
8.5 習題
第9章 Web編程基礎( 教學視頻:47分鐘)
9.1 使用URL傳遞數據
9.1.1 收集用戶信息
9.1.2 接收信息數據
9.1.3 檢測接收到的數據
9.2 使用Cookie緩存數據
9.2.1 使用Cookie存取數據
9.2.2 銷毀Cookie數據
9.2.3 關于Cookie的后話
9.3 使用Session保障數據安全
9.3.1 PHP Session工作機制
9.3.2 創建及銷毀Session
9.3.3 使用Session變量
9.4 使用表單上傳文件
9.4.1 使用表單上傳文件
9.4.2 獲取已上傳文件的信息
9.5 實戰練習:記賬工具(中)
9.5.1 界面預覽
9.5.2 腳本分析
9.6 習題
第10章 數據的存儲( 教學視頻:95分鐘)
10.1 使用文本文件存取數據
10.1.1 打開和關閉文本文件
10.1.2 向文本文件中寫入數據
10.1.3 從文本文件中讀取數據
10.1.4 從CSV和TSV文件中讀取數據
10.1.5 實戰練習:用文本文件做數據源的留言本
10.2 使用XML存取數據
10.2.1 加載和讀取XML數據
10.2.2 修改XML文件中的數據
10.2.3 向XML文件中添加數據
10.2.4 遍歷XML文件中的數據
10.3 使用數據庫存取數據
10.3.1 數據庫基礎
10.3.2 數據表之間的關系
10.3.3 查詢結果的排序和組合
10.4 使用PHP來操作數據庫
10.4.1 使用PHP打開和關閉數據庫連接
10.4.2 使用PHP輸出數據庫查詢結果
10.4.3 使用PHP來添加、修改和刪除數據庫數據
10.5 實戰練習:記賬工具(下)
10.5.1 規劃數據庫
10.5.2 批量導入模板
10.5.3 為頁面添回功能前的準備工作
10.5.4 為頁面添加功能
10.6 習題
第4篇 面向對象編程
第11章 PHP與操作系統( 教學視頻:15分鐘)
11.1 管理文件
11.1.1 獲取文件信息
11.1.2 復制、重命名和刪除文件
11.1.3 組織文件
11.2 調用操作系統命令
11.2.1 重音符(`)
11.2.2 system()函數、exec()函數和passthru()函數
11.2.3 四個變量的區別
11.3 使用PHP操控FTP
11.3.1 準備工作
11.3.2 登錄FTP服務器
11.3.3 獲取服務器文件列表
11.3.4 下載和上傳文件
11.3.5 使用PHP操控FTP
11.4 使用PHP發送電子郵件
11.4.1 準備工作
11.4.2 發送電子郵件
11.4.3 發送帶附件的電子郵件
第12章 PHP與基于對象的編程(OOP)( 教學視頻:35分鐘)
12.1 基于過程vs.基于對象
12.1.1 為什么要用OOP
12.1.2 對象面面觀
12.1.3 基于對象編程中常用術語
12.1.4 基于對象編程的編碼規范
12.2 初識OOP
12.2.1 類和對象
12.2.2 類的擴展和改寫
12.2.3 修飾詞
12.2.4 一些魔術方法
12.3 進階OOP
12.3.1 摸清類的情況
12.3.2 迭代器
12.3.3 數組對象
12.3.4 對象序列化
12.3.5 對象的克隆
12.3.6 方法鏈
12.4 設計模式
12.4.1 策略模式(Strategy)
12.4.2 工廠模式(Factory)
12.4.3 單體模式(Singleton)
12.4.4 觀察員模式(Observer)
12.5 習題
第13章 PHP與MVC( 教學視頻:17分鐘)
13.1 MVC大起底
13.1.1 什么是MVC
13.1.2 為什么要使用MVC
13.1.3 常用的MVC框架
13.2 KISSMVC:一個簡單的MVC框架
13.2.1 KISSMVC框架概述
13.2.2 框架入口(index.php)
13.2.3 控制器(KISS_Controller)
13.2.4 視圖(KISS_View)
13.2.5 模型(KISS_Model)
13.2.6 使用控制器操控模型和視圖
13.3 擴充框架:基于MVC的記賬工具
13.3.1 數據規劃
13.3.2 用戶登錄與驗證
13.3.3 用戶注冊
13.3.4 添加收入和支出記錄
13.3.5 批量添加收入和支出記錄
13.3.6 查看數據記錄
13.3.7 控制臺
13.4 習題
第5篇 開源PHP應用
第14章 常見開源的PHP應用( 教學視頻:4分鐘)
14.1 WordPress
14.1.1 安裝WordPress
14.1.2 使用QuickPress發布一條博客
14.1.3 修改已發布的博客
14.1.4 定制頁面
14.1.5 添加博客分類
14.1.6 管理導航菜單
14.1.7 管理前臺主題
14.1.8 小結
14.2 Drupal
14.2.1 安裝Drupal
14.2.2 了解Drupal的使用方法
14.2.3 管理站點內容
14.2.4 管理站點結構
14.2.5 管理用戶
14.2.6 小結