PHP網(wǎng)站開發(fā)實例教程(第2版)
定 價:49.8 元
- 作者:黑馬程序員 著
- 出版時間:2020/7/1
- ISBN:9787115530202
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁碼:256
- 紙張:
- 版次:02
- 開本:16開
本書面向已經(jīng)具有PHP編程基礎(chǔ)的人群,講解如何運用PHP開發(fā)動態(tài)網(wǎng)站。在企業(yè)中,一般都是采用框架進行項目開發(fā),為了提高本書的實戰(zhàn)性,書中講解了從開發(fā)一個自定義框架到利用該框架開發(fā)一個“內(nèi)容管理系統(tǒng)”項目的全過程,以及市面上非常流行的Laravel框架的基礎(chǔ)知識,幫助讀者既能理解框架的實現(xiàn)原理,又能掌握項目的開發(fā)技術(shù)。
全書共8章。第1章講解PHP開發(fā)環(huán)境的搭建,第2章、第3章講解PHP框架的基礎(chǔ)知識,第4章講解框架中的數(shù)據(jù)庫操作(PDO擴展)和模板引擎的使用,第5章、第6章講解內(nèi)容管理系統(tǒng)的開發(fā)實戰(zhàn),第7章、第8章講解Laravel框架的基礎(chǔ)知識。
本書既可作為高等院校本、?朴嬎銠C相關(guān)專業(yè)的PHP動態(tài)網(wǎng)站開發(fā)課程的教材,也可作為廣大IT技術(shù)人員和編程愛好者的參考讀物。
1. 以案例的方式講解知識,具有實用性、更有趣;
2. 從基礎(chǔ)到框架層層深入,引導(dǎo)讀者學(xué)習思路,讓零基礎(chǔ)學(xué)生學(xué)習起來更容易上手;
3. 配套資源更豐富,免費提供各類教學(xué)資源、在線答疑。
黑馬程序員,傳智播客旗下高端IT教育品牌,它是由中國Java培訓(xùn)第一人張孝祥老師發(fā)起,聯(lián)合***大的中文IT社區(qū)CSDN、中關(guān)村軟件園共同創(chuàng)辦的一家專業(yè)教育機構(gòu)。辦學(xué)至今,我們一直堅守著“為千萬人少走彎路而著書,為中華軟件之崛起而講課”的辦學(xué)理念,堅持培養(yǎng)優(yōu)秀軟件應(yīng)用工程師的宏偉目標,在累計培養(yǎng)的十萬余名學(xué)員中,其中90%的學(xué)員均已在北、上、廣等一線城市高薪就業(yè)。
第 1章 開發(fā)環(huán)境搭建\t001
學(xué)習目標 001
1.1 安裝Visual Studio Code 001
1.2 搭建WAMP環(huán)境 002
1.2.1 安裝Apache 003
1.2.2 安裝PHP 006
1.2.3 安裝MySQL 008
1.3 安裝Composer依賴管理工具 011
1.4 Web服務(wù)器配置 012
1.4.1 配置虛擬主機 012
1.4.2 訪問權(quán)限控制 013
1.4.3 【案例】按照要求配置虛擬主機 014
本章小結(jié) 016
課后練習 016
第 2章 PHP框架基礎(chǔ)(上) 018
學(xué)習目標 018
2.1 初識框架 018
2.1.1 什么是框架 018
2.1.2 常見的PHP框架 019
2.2 MVC設(shè)計模式 019
2.2.1 什么是MVC 019
2.2.2 【案例】體驗MVC設(shè)計模式 020
2.3 框架的單一入口和路由 024
2.3.1 什么是單一入口 024
2.3.2 【案例】單一入口的實現(xiàn) 025
2.3.3 【案例】隱藏入口文件 026
2.3.4 框架中的路由 026
2.3.5 【案例】路由的代碼實現(xiàn) 027
2.4 命名空間 027
2.4.1 命名空間的定義 027
2.4.2 命名空間的使用 029
2.4.3 導(dǎo)入命名空間 030
2.5 自動加載 033
2.5.1 注冊自動加載函數(shù) 033
2.5.2 注冊多個自動加載函數(shù) 034
2.5.3 注冊自動加載方法 035
2.6 代碼規(guī)范 035
2.6.1 PSR規(guī)范 035
2.6.2 配置VS Code編輯器 037
本章小結(jié) 039
課后練習 039
第3章 PHP框架基礎(chǔ)(下) 041
學(xué)習目標 041
3.1 創(chuàng)建自定義框架 041
3.1.1 創(chuàng)建目錄結(jié)構(gòu) 041
3.1.2 使用Composer實現(xiàn)自動加載 042
3.1.3 使用Composer管理項目依賴 044
3.1.4 【案例】創(chuàng)建自己的包 046
3.2 框架基礎(chǔ)搭建 048
3.2.1 App類 048
3.2.2 Request類 050
3.2.3 Response類 052
3.2.4 Container類 053
3.3 反射 055
3.3.1 反射API 055
3.3.2 【案例】利用反射實現(xiàn)依賴注入 057
3.4 異常處理 061
3.4.1 異常的拋出和捕獲 061
3.4.2 自定義異!062
3.4.3 多異常捕獲處理 064
3.4.4 【案例】在框架中處理異!065
本章小結(jié) 066
課后練習 067
第4章 數(shù)據(jù)庫和模板引擎 069
學(xué)習目標 069
4.1 PDO擴展 069
4.1.1 開啟PDO擴展 069
4.1.2 連接和選擇數(shù)據(jù)庫 069
4.1.3 執(zhí)行SQL語句 070
4.1.4 處理結(jié)果集 071
4.1.5 預(yù)處理機制 073
4.1.6 為占位符綁定數(shù)據(jù) 074
4.1.7 PDO錯誤處理 075
4.1.8 PDO事務(wù)處理 077
4.2 【案例】封裝DB類 078
4.2.1 連接數(shù)據(jù)庫 078
4.2.2 封裝查詢類操作 081
4.2.3 封裝執(zhí)行類操作 082
4.3 【案例】封裝Model類 083
4.3.1 初始化表名 083
4.3.2 查詢數(shù)據(jù) 084
4.3.3 新增數(shù)據(jù) 088
4.3.4 修改數(shù)據(jù) 090
4.3.5 刪除數(shù)據(jù) 091
4.4 Smarty模板引擎 092
4.4.1 安裝Smarty 092
4.4.2 在框架中使用Smarty 092
4.4.3 Smarty常用模板語法 095
本章小結(jié) 096
課后練習 096
第5章 內(nèi)容管理系統(tǒng)(上) 098
學(xué)習目標 098
5.1 項目展示 098
5.2 后臺用戶登錄 100
5.2.1 創(chuàng)建用戶表 100
5.2.2 顯示登錄頁面 101
5.2.3 Ajax交互 103
5.2.4 接收登錄表單 106
5.2.5 判斷登錄狀態(tài) 107
5.2.6 退出登錄 110
5.3 驗證碼 111
5.3.1 編寫驗證碼類 111
5.3.2 輸出驗證碼圖像 113
5.3.3 判斷驗證碼是否正確 114
5.4 后臺頁面搭建 115
5.4.1 后臺布局 116
5.4.2 左側(cè)菜單 119
5.4.3 后臺首頁 120
5.5 欄目管理 121
5.5.1 創(chuàng)建欄目表 122
5.5.2 顯示欄目列表 122
5.5.3 添加和修改欄目 124
5.5.4 刪除欄目 127
本章小結(jié) 128
課后練習 128
第6章 內(nèi)容管理系統(tǒng)(下) 130
學(xué)習目標 130
6.1 文章管理 130
6.1.1 創(chuàng)建文章表 130
6.1.2 顯示文章列表 131
6.1.3 分頁查詢文章 133
6.1.4 添加和修改文章 137
6.1.5 文件上傳 141
6.1.6 刪除文章 144
6.2 前臺首頁 145
6.2.1 頁面布局 145
6.2.2 欄目導(dǎo)航 147
6.2.3 輪播圖 149
6.2.4 文章列表 150
6.2.5 側(cè)邊欄 152
6.3 文章展示 154
6.3.1 顯示文章內(nèi)容 154
6.3.2 記錄閱讀量 156
6.3.3 查詢上一篇和下一篇 157
本章小結(jié) 158
課后練習 158
第7章 Laravel框架(上) 160
7.1 初識Laravel 160
7.1.1 Laravel概述 160
7.1.2 創(chuàng)建Laravel項目 160
7.1.3 配置VS Code編輯器 162
7.1.4 Laravel的目錄結(jié)構(gòu) 162
7.2 路由 164
7.2.1 配置路由 164
7.2.2 路由參數(shù) 165
7.2.3 路由別名 165
7.2.4 路由分組 166
7.3 控制器 167
7.3.1 創(chuàng)建控制器 167
7.3.2 控制器路由 168
7.3.3 接收用戶輸入 168
7.4 數(shù)據(jù)庫操作 170
7.4.1 配置數(shù)據(jù)庫 171
7.4.2 添加數(shù)據(jù) 173
7.4.3 修改數(shù)據(jù) 174
7.4.4 查詢數(shù)據(jù) 175
7.4.5 刪除數(shù)據(jù) 176
7.4.6 執(zhí)行SQL語句 177
7.5 視圖 177
7.5.1 創(chuàng)建視圖文件 177
7.5.2 向視圖傳遞數(shù)據(jù) 178
7.5.3 視圖數(shù)據(jù)的處理 179
7.5.4 循環(huán)操作 180
7.5.5 判斷操作 181
7.5.6 模板繼承 181
7.5.7 模板包含 183
7.6 防御CSRF攻擊 184
7.6.1 什么是CSRF攻擊 185
7.6.2 在Laravel中防御CSRF攻擊 185
7.6.3 從CSRF驗證中排除例外路由 187
7.7 模型 188
7.7.1 定義模型 188
7.7.2 在控制器中使用模型 189
7.7.3 利用模型添加數(shù)據(jù) 189
7.7.4 利用模型查詢數(shù)據(jù) 190
7.7.5 利用模型修改數(shù)據(jù) 191
7.7.6 利用模型刪除數(shù)據(jù) 192
7.8 自動驗證 192
7.8.1 如何進行自動驗證 192
7.8.2 在Ajax請求中使用自動驗證 195
本章小結(jié) 196
課后練習 196
第8章 Laravel框架(下) 198
8.1 常見功能開發(fā) 198
8.1.1 響應(yīng)控制 198
8.1.2 會話控制 199
8.1.3 文件上傳 200
8.1.4 數(shù)據(jù)分頁 201
8.1.5 驗證碼 203
8.2 緩存操作 206
8.2.1 緩存配置 206
8.2.2 添加緩存 207
8.2.3 讀取緩存 207
8.2.4 刪除緩存 208
8.2.5 緩存數(shù)值自增或自減 208
8.3 數(shù)據(jù)表的遷移和填充 209
8.3.1 數(shù)據(jù)表遷移 209
8.3.2 數(shù)據(jù)表填充 212
8.4 連接查詢 213
8.5 關(guān)聯(lián)模型 215
8.5.1 一對一 215
8.5.2 一對多 216
8.5.3 多對一 217
8.5.4 多對多 217
本章小結(jié) 220
課后練習 220