ThinkPHP 5框架原理與實戰

黑馬程序員著

  • 出版商: 中國鐵道
  • 出版日期: 2019-08-01
  • 定價: $330
  • 售價: 8.5$281
  • 語言: 簡體中文
  • 頁數: 320
  • 裝訂: 平裝
  • ISBN: 7113259715
  • ISBN-13: 9787113259716
  • 相關分類: PHP
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

全書共有9章,
第1章講解開發環境搭建,
第2~4章講解框架基礎知識和ThinkPHP源碼分析,
第5~7章講解ThinkPHP開發實戰,
第8章講解ThinkPHP與Memcached、Redis、MongoDB等服務器技術的結合,
第9章講解基於ThinkPHP+Vue.js的前後端分離項目“輕社區”的開發實戰。
通過本書的學習,讀者既能理解ThinkPHP的架構思想,也能掌握ThinkPHP在項目開發中的應用。
本書既可作為高等院校本、專科計算機相關專業程序設計或者Web應用開發的教材,
也可作為PHP進階提高的培訓教材,是一本適合廣大計算機編程愛好者的優秀讀物。

目錄大綱

第1章ThinkPHP入門1
1.1初識ThinkPHP 1
1.1.1什麼是框架1
1.1.2常見的PHP框架2
1.1.3 ThinkPHP的發展歷程2
1.2開發環境搭建4
1.2.1 Apache安裝與配置4
1.2.2 PHP的安裝與配置6
1.2.3 MySQL安裝與配置8
1.2.4配置虛擬主機10
1.2.5安裝Composer依賴管理工具11
1.2.6安裝Visual Studio Code編輯器12
1.3 ThinkPHP的安裝和使用13
1.3.1安裝ThinkPHP 13
1.3.2使用ThinkPHP開發項目15
本章小結19
課後練習20

第2章框架的基礎知識21
2.1 MVC開發模式21
2.1.1什麼是MVC 21
2.1.2單一入口的框架設計23
2.2路由26
2.2.1路由的實現原理26
2.2.2隱藏入口文件27
2.2.3 ThinkPHP中的路由28
2.3命名空間30
2.3.1命名空間的定義30
2.3.2命名空間的使用32
2.3.3導入命名空間34
2.4自動加載36
2.4.1註冊自動加載函數36
2.4.2註冊多個自動加載函數38
2.4.3註冊自動加載方法38
2.5代碼規範39
2.5 .1 PSR規範39
2.5.2配置VS Code編輯器41
2.6 Composer 43
2.6.1實現類的自動加載43
2.6.2項目依賴管理45
2.6.3創建自己的包46
本章小結48
課後練習48

第3章框架的實現原理(上) 50
3.1創建自定義框架50
3.1.1劃分目錄結構50
3.1.2自動加載51
3.1.3控制反轉和依賴注入52
3.1.4 Container類55
3.1.5 App類57
3.1.6 Facade類59
3.2反射62
3.2.1反射API 62
3.2.2利用反射實現參數綁定65
3.2.3利用反射實現依賴注入66
3.2.4自定義實例化67
3.3配置文件68
3.3.1配置文件的設計68
3.3.2配置的讀取與修改69
3.4請求和響應72
3.4.1路由檢測72
3.4.2請求分發75
3.4.3輸入過濾76
3.4.4響應處理79
3.4.5中間件81
本章小結86
課後練習86

第4章框架的實現原理(下) 88
4.1異常處理88
4.1.1異常的拋出和捕獲88
4.1.2自定義異常89
4.1.3多異常捕獲處理91
4.1.4在框架中處理異常93
4.2 PDO擴展93
4.2.1 PDO基本使用94
4.2.2 PDO預處理機制97
4.2.3 PDO異常處理99
4.2.4 PDO事務處理101
4.3框架中的數據庫操作102
4.3.1 ThinkPHP的數據庫架構102
4.3.2編寫數據庫操作類103
4.3.3編寫數據庫操作方法107
4.3.4自動生成SQL語句111
4.4模板引擎119
4.4.1 Smarty模板引擎119
4.4.2 ThinkPHP模板引擎123
本章小結124
課後練習125

第5章後台管理系統126
5.1準備工作126
5.1.1項目說明126
5.1.2創建項目127
5.1.3項目環境變量128
5.1.4數據庫遷移130
5.2模型的使用133
5.2.1模型的使用步驟133
5.2.2模型的常用操作135
5.2.3數據集的使用139
5.3後台用戶登錄140
5.3.1創建數據表141
5.3. 2用戶登錄頁面142
5.3.3表單驗證145
5.3.4 Ajax交互150
5.3.5遠程調試155
5.3.6令牌驗證156
5.3.7檢測用戶是否已經登錄159
5.3.8用戶退出160
5.4後台頁面搭建161
5.4.1後台佈局161
5.4.2後台首頁163
5.4.3後台菜單164
5.4.4 Ajax交互165
本章小結166
課後練習167

第6章基於角色的訪問控制168
6.1菜單管理168
6.1.1創建數據表168
6.1.2菜單展示170
6.1.3菜單列表173
6.1.4菜單添加和修改176
6.1.5表單驗證179
6.1.6菜單刪除181
6.2角色管理182
6.2.1創建數據表182
6.2.2角色列表182
6.2.3角色添加和修改184
6.2.4角色刪除186
6.3權限管理187
6.3.1創建數據表187
6.3. 2權限列表188
6.3.3權限添加和修改192
6.3.4權限刪除196
6.4用戶管理196
6.4.1用戶列表196
6.4.2用戶添加和修改199
6.4.3用戶刪除202
6.4.4修改密碼202
6.5訪問控制204
6.5.1檢查用戶權限204
6.5.2根據用戶權限顯示菜單206
本章小結206
課後練習206

第7章在線商城項目208
7.1分類管理208
7.1.1添加菜單項208
7.1.2創建數據表209
7.1.3分類列表210
7.1.4分類添加和修改213
7.1.5分類刪除217
7.2圖片管理217
7.2 .1創建數據表217
7.2.2相冊列表219
7.2.3查看相冊221
7.2.4整合WebUploader 223
7.2.5上傳圖片227
7.2.6創建縮略圖229
7.2.7刪除圖片231
7.2.8將相冊放入模態框232
7.3商品管理235
7.3.1創建數據表235
7.3.2商品列表236
7.3.3商品軟刪除239
7.3.4快捷上下架243
7.3.5商品添加與修改244
7.3.6上傳圖片248
7.3 .7整合UEditor 252
本章小結255
課後練習255

第8章Linux環境257
8.1 LNMP環境搭建257
8.1.1安裝Linux 257
8.1.2安裝Nginx 261
8.1.3安裝PHP 264
8.1.4安裝MySQL 268
8.1.5安裝Composer和ThinkPHP 271
8.2 Memcached 272
8.2.1初識Memcached 272
8.2.2安裝Memcached 273
8.2.3 PHP操作Memcached 275
8.2 .4 ThinkPHP操作Memcached 278
8.3 Redis 279
8.3.1初識Redis 279
8.3.2安裝Redis 279
8.3.3 Redis入門282
8.3.4 PHP操作Redis 285
8.3.5 ThinkPHP操作Redis 286
8.4 MongoDB 287
8.4.1初識MongoDB 287
8.4.2安裝MongoDB 288
8.4.3 MongoDB入門289
8.4.4 PHP操作MongoDB 291
8.4.5 ThinkPHP操作MongoDB 292
8.5 Elasticsearch 293
8.5.1初識Elasticsearch 293
8.5.2安裝Elasticsearch 294
8.5.3使用Elasticsearch 295
8.5.4 ThinkPHP操作Elasticsearch 298
8.6 Swoole 299
8.6.1初識Swoole 299
8.6.2安裝Swoole 299
8.6.3使用Swoole 300
8.7 Docker 301
8.7.1初識Docker 301
8.7.2安裝Docker 301
8.7.3使用Docker 302
本章小結303
課後練習303

第9章ThinkPHP+Vue.js輕社區項目305
9.1前後端分離開發概述305
9.2項目介紹306
9.2.1項目展示306
9.2.2需求分析307
9.2 .3技術方案308
9.2.4數據庫設計308
9.3項目開發說明310
本章小結310