國家軟件與集成電路公共服務(wù)平臺(tái)信息技術(shù)緊缺人才培養(yǎng)工程指定教材:ThinkPHP 5框架原理與實(shí)戰(zhàn)
定 價(jià):55 元
- 作者:[中國]黑馬程序員
- 出版時(shí)間:2019/8/1
- ISBN:9787113259716
- 出 版 社:中國鐵道出版社
- 中圖法分類:TP312PH
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
全書共有9章,第1章講解開發(fā)環(huán)境搭建,第2~4章講解框架基礎(chǔ)知識(shí)和ThinkPHP源碼分析,第5~7章講解ThinkPHP開發(fā)實(shí)戰(zhàn),第8章講解ThinkPHP與Memcached、Redis、MongoDB等服務(wù)器技術(shù)的結(jié)合,第9章講解基于ThinkPHP+Vue.js的前后端分離項(xiàng)目“輕社區(qū)”的開發(fā)實(shí)戰(zhàn)。通過本書的學(xué)習(xí),讀者既能理解ThinkPHP的架構(gòu)思想,也能掌握ThinkPHP在項(xiàng)目開發(fā)中的應(yīng)用。本書既可作為高等院校本、?朴(jì)算機(jī)相關(guān)專業(yè)程序設(shè)計(jì)或者Web應(yīng)用開發(fā)的教材,也可作為PHP進(jìn)階提高的培訓(xùn)教材,是一本適合廣大計(jì)算機(jī)編程愛好者的優(yōu)秀讀物。
本書結(jié)合實(shí)例講解開發(fā)環(huán)境搭建、框架基礎(chǔ)知識(shí)和ThinkPHP源碼分析、ThinkPHP開發(fā)實(shí)戰(zhàn)、ThinkPHP與Memcached、Redis、MongoDB等服務(wù)器技術(shù)的結(jié)合,zui后講解基于ThinkPHP+Vue.js的前后端分離項(xiàng)目“輕社區(qū)”的開發(fā)實(shí)戰(zhàn)。
PHP 是一種運(yùn)行于服務(wù)器端并完全跨平臺(tái)的嵌入式腳本編程語言,具有開源免費(fèi)、易學(xué)易用、開發(fā)效率高等特點(diǎn),是目前 Web 應(yīng)用開發(fā)的主流語言之一。ThinkPHP 是一個(gè)使用 PHP 語言編寫的免費(fèi)、開源、輕量級(jí)的框架,在國內(nèi) Web 開發(fā)領(lǐng)域非常受歡迎。 為什么要學(xué)習(xí)本書本書面向具有網(wǎng)頁制作(HTML、CSS、JavaScript)、MySQL 數(shù)據(jù)庫和 PHP 語言基礎(chǔ)的人群,講解 ThinkPHP 的實(shí)現(xiàn)原理和開發(fā)實(shí)戰(zhàn)。 為了盡可能地確保讀者可以學(xué)以致用,具備解決實(shí)際問題的能力,本書內(nèi)容涵蓋了大量與 PHP項(xiàng)目開發(fā)相關(guān)的實(shí)用技術(shù),簡要介紹如下。 1.開發(fā)環(huán)境搭建詳細(xì)講解了基于 Apache 2.4 + PHP 7.2 + MySQL 5.7 + ThinkPHP 5.1 的開發(fā)環(huán)境搭建的全過程,幫助讀者動(dòng)手完成每個(gè)軟件的安裝和配置。 2.開發(fā)工具使用講解如何使用 Composer 管理項(xiàng)目依賴,介紹了 Visual Studio Code 編輯器的常用擴(kuò)展以及常用配置。 3.項(xiàng)目開發(fā)技術(shù)講解數(shù)據(jù)庫遷移、遠(yuǎn)程調(diào)試、前后端交互、令牌驗(yàn)證和 RBAC 技術(shù),幫助讀者提高代碼質(zhì)量,避免出現(xiàn)安全漏洞。 4.框架實(shí)現(xiàn)原理對(duì)框架中用到的 MVC 模式、路由、命名空間、自動(dòng)加載、容器、依賴注入、反射、中間件、異常處理機(jī)制、PDO 擴(kuò)展、數(shù)據(jù)庫訪問層、模板引擎等技術(shù)進(jìn)行了全面講解。 5.前端技術(shù)應(yīng)用將 jQuery、Bootstrap、WebUploader、UEditor、Vue.js 等前端技術(shù)應(yīng)用到項(xiàng)目開發(fā)中。 6.后端技術(shù)應(yīng)用講解 LNMP(Linux + Nginx + MySQL + PHP)服務(wù)器架構(gòu)的搭建,以及 ThinkPHP 如何與Memcached、Redis、MongoDB、Elasticsearch、Swoole 等后端技術(shù)相結(jié)合。 如何使用本書本書共分為9章,簡要介紹如下:第1章主要講解框架的基本概念、ThinkPHP 發(fā)展歷程、開發(fā)環(huán)境搭建、ThinkPHP 的安裝和使用。通過本章的學(xué)習(xí),讀者可以體會(huì)到使用框架與不使用框架進(jìn)行開發(fā)的區(qū)別,掌握使用ThinkPHP 開發(fā)項(xiàng)目的基本流程。 第2章講解框架的基礎(chǔ)知識(shí),內(nèi)容包括MVC 的基本思想和代碼實(shí)現(xiàn)、如何設(shè)計(jì)單一入口框架、路由的實(shí)現(xiàn)原理、ThinkPHP 路由的使用、命名空間和自動(dòng)加載技術(shù)在框架中的應(yīng)用、框架通用的代碼規(guī)范,以及 Composer 的使用。 第3章講解框架的實(shí)現(xiàn)原理(上),內(nèi) 容包括如何從零開始編寫一個(gè)框架、如何使用 Composer管理框架依賴和實(shí)現(xiàn)自動(dòng)加載、什么是控制反轉(zhuǎn)、依賴注入的代碼實(shí)現(xiàn)、反射在框架中的應(yīng)用、如何管理項(xiàng)目的配置文件,以及路由檢測、請(qǐng)求分發(fā)、輸入過濾、響應(yīng)處理、中間件等技術(shù)的代碼實(shí)現(xiàn)。 第4章講解框架的實(shí)現(xiàn)原理(下),內(nèi)容包括如何在 PHP 中處理異常、PDO 的使用、數(shù)據(jù)庫操作類的設(shè)計(jì)思想和代碼實(shí)現(xiàn),以及模板引擎的使用。 第5章講解后臺(tái)管理系統(tǒng),內(nèi)容包括數(shù)據(jù)庫遷移、模型的使用、用戶登錄功能的實(shí)現(xiàn)、驗(yàn)證碼、使用驗(yàn)證器進(jìn)行表單驗(yàn)證、封裝項(xiàng)目中的 Ajax操作、遠(yuǎn)程調(diào)試技術(shù)、令牌驗(yàn)證的原理和代碼實(shí)現(xiàn)、使用 Bootstrap 技術(shù)進(jìn)行后臺(tái)頁面搭建等。 第6章講解基于角色的訪問控制,在第5章開發(fā)的后臺(tái)管理系統(tǒng)的基礎(chǔ)上,增加了菜單管理、角色管理、權(quán)限管理和用戶管理功能,對(duì)每個(gè)功能實(shí)現(xiàn)了增、刪、改、查操作,最后講解了訪問控制的實(shí)現(xiàn)。 第7章講解在線商城項(xiàng)目,在第6章的基礎(chǔ)上增加商城項(xiàng)目的后臺(tái)功能,主要圍繞分類管理、圖片管理和商品管理進(jìn)行講解,涉及分頁查詢、文件上傳、創(chuàng)建縮略圖、軟刪除等技術(shù),以及WebUploader上傳組件和 UEditor 編輯器的使用。本書在配套源代碼中還提供了在線商城前臺(tái)的代碼實(shí)現(xiàn)和開發(fā)文檔。 第8章講解 Linux 環(huán)境,內(nèi)容包括LNMP 環(huán)境搭建、Memcached 技術(shù)、Redis 技術(shù)、MongoDB技術(shù)、Elasticsearch 技術(shù)、Swoole 技術(shù)以及 Docker 技術(shù),這些技術(shù)一般應(yīng)用在百萬級(jí)訪問量的大型網(wǎng)站架構(gòu)中。 第9章講解基于 ThinkPHP + Vue.js 技術(shù)的“輕社區(qū)”項(xiàng)目,讓讀者具備橫跨前端、后端和移動(dòng)端的開發(fā)能力,掌握ThinkPHP 在前后端分離項(xiàng)目中的應(yīng)用。 在上面列舉的9個(gè)章節(jié)中,第1章講解入門知識(shí),讓初學(xué)者對(duì) ThinkPHP 有整體的認(rèn)識(shí);第2~4章講解框架原理,幫助初學(xué)者奠定扎實(shí)的基本功;第5~7章和第9章講解 ThinkPHP 開發(fā)實(shí)戰(zhàn),幫助讀者快速掌握項(xiàng)目開發(fā)技術(shù);第 8 章主要介紹各種軟件的安裝、配置和使用,幫助讀者開闊視野,了解大型網(wǎng)站是如何提高性能的。 在學(xué)習(xí)過程中,讀者一定要親自動(dòng)手實(shí)踐本書中的案例,如果不能完全理解書中所講知識(shí),讀者可以登錄高校學(xué)習(xí)平臺(tái),通過平臺(tái)中的教學(xué)視頻進(jìn)行深入學(xué)習(xí)。學(xué)習(xí)完一個(gè)知識(shí)點(diǎn)后,要及時(shí)在高校學(xué)習(xí)平臺(tái)進(jìn)行測試,以鞏固學(xué)習(xí)內(nèi)容。 另外,如果讀者在理解知識(shí)點(diǎn)的過程中遇到困難,建議不要糾結(jié)于某個(gè)地方,可以先往后學(xué)習(xí)。通常來講,通過逐漸地學(xué)習(xí),前面不懂和疑惑的知識(shí)也就能夠理解了。在學(xué)習(xí)的過程中,一定要多動(dòng)手實(shí)踐,如果在實(shí)踐的過程中遇到問題,建議多思考,理清思路,認(rèn)真分析問題發(fā)生的原因,并在問題解決后總結(jié)經(jīng)驗(yàn)。 致謝本書的編寫和整理工作由傳智播客教育科技股份有限公司完成,主要參與人員有呂春林、韓冬、王穎等,全體人員在這近一年的編寫過程中付出了很多辛勤的汗水,在此表示衷心的感謝。 意見反饋盡管我們付出了最大的努力,但書中難免會(huì)有不妥之處,歡迎各界專家和讀者朋友們提出寶貴意見,我們將不勝感激。您在閱讀本書時(shí),如發(fā)現(xiàn)任何問題或有不認(rèn)同之處,可以通過電子郵件與我們?nèi)〉寐?lián)系。 請(qǐng)發(fā)送電子郵箱至itcast_book@vip.sina.com。 黑馬程序員2019年6月于北京
黑馬程序員
第1章 ThinkPHP入門 11.1 初識(shí)ThinkPHP 11.1.1 什么是框架 11.1.2 常見的PHP框架 21.1.3 ThinkPHP的發(fā)展歷程 21.2 開發(fā)環(huán)境搭建 41.2.1 Apache安裝與配置 41.2.2 PHP的安裝與配置 61.2.3 MySQL安裝與配置 81.2.4 配置虛擬主機(jī) 101.2.5 安裝Composer依賴管理工具 111.2.6 安裝Visual Studio Code編輯器 121.3 ThinkPHP的安裝和使用 131.3.1 安裝ThinkPHP 131.3.2 使用ThinkPHP開發(fā)項(xiàng)目 15本章小結(jié) 19課后練習(xí) 20第2章 框架的基礎(chǔ)知識(shí) 212.1 MVC開發(fā)模式 212.1.1 什么是MVC 212.1.2 單一入口的框架設(shè)計(jì) 232.2 路由 262.2.1 路由的實(shí)現(xiàn)原理 262.2.2 隱藏入口文件 272.2.3 ThinkPHP中的路由 282.3 命名空間 302.3.1 命名空間的定義 302.3.2 命名空間的使用 322.3.3 導(dǎo)入命名空間 342.4 自動(dòng)加載 362.4.1 注冊(cè)自動(dòng)加載函數(shù) 362.4.2 注冊(cè)多個(gè)自動(dòng)加載函數(shù) 382.4.3 注冊(cè)自動(dòng)加載方法 382.5 代碼規(guī)范 392.5.1 PSR規(guī)范 392.5.2 配置VS Code編輯器 412.6 Composer 432.6.1 實(shí)現(xiàn)類的自動(dòng)加載 432.6.2 項(xiàng)目依賴管理 452.6.3 創(chuàng)建自己的包 46本章小結(jié) 48課后練習(xí) 48第3章 框架的實(shí)現(xiàn)原理(上) 503.1 創(chuàng)建自定義框架 503.1.1 劃分目錄結(jié)構(gòu) 503.1.2 自動(dòng)加載 513.1.3 控制反轉(zhuǎn)和依賴注入 523.1.4 Container類 553.1.5 App類 573.1.6 Facade類 593.2 反射 623.2.1 反射API 623.2.2 利用反射實(shí)現(xiàn)參數(shù)綁定 653.2.3 利用反射實(shí)現(xiàn)依賴注入 663.2.4 自定義實(shí)例化 673.3 配置文件 683.3.1 配置文件的設(shè)計(jì) 683.3.2 配置的讀取與修改 693.4 請(qǐng)求和響應(yīng) 723.4.1 路由檢測 723.4.2 請(qǐng)求分發(fā) 753.4.3 輸入過濾 763.4.4 響應(yīng)處理 793.4.5 中間件 81本章小結(jié) 86課后練習(xí) 86第4章 框架的實(shí)現(xiàn)原理(下) 884.1 異常處理 884.1.1 異常的拋出和捕獲 884.1.2 自定義異常 894.1.3 多異常捕獲處理 914.1.4 在框架中處理異常 934.2 PDO擴(kuò)展 934.2.1 PDO基本使用 944.2.2 PDO預(yù)處理機(jī)制 974.2.3 PDO異常處理 994.2.4 PDO事務(wù)處理 1014.3 框架中的數(shù)據(jù)庫操作 1024.3.1 ThinkPHP的數(shù)據(jù)庫架構(gòu) 1024.3.2 編寫數(shù)據(jù)庫操作類 1034.3.3 編寫數(shù)據(jù)庫操作方法 1074.3.4 自動(dòng)生成SQL語句 1114.4 模板引擎 1194.4.1 Smarty模板引擎 1194.4.2 ThinkPHP模板引擎 123本章小結(jié) 124課后練習(xí) 125第5章 后臺(tái)管理系統(tǒng) 1265.1 準(zhǔn)備工作 1265.1.1 項(xiàng)目說明 1265.1.2 創(chuàng)建項(xiàng)目 1275.1.3 項(xiàng)目環(huán)境變量 1285.1.4 數(shù)據(jù)庫遷移 1305.2 模型的使用 1335.2.1 模型的使用步驟 1335.2.2 模型的常用操作 1355.2.3 數(shù)據(jù)集的使用 1395.3 后臺(tái)用戶登錄 1405.3.1 創(chuàng)建數(shù)據(jù)表 1415.3.2 用戶登錄頁面 1425.3.3 表單驗(yàn)證 1455.3.4 Ajax交互 1505.3.5 遠(yuǎn)程調(diào)試 1555.3.6 令牌驗(yàn)證 1565.3.7 檢測用戶是否已經(jīng)登錄 1595.3.8 用戶退出 1605.4 后臺(tái)頁面搭建 1615.4.1 后臺(tái)布局 1615.4.2 后臺(tái)首頁 1635.4.3 后臺(tái)菜單 1645.4.4 Ajax交互 165本章小結(jié) 166課后練習(xí) 167第6章 基于角色的訪問控制 1686.1 菜單管理 1686.1.1 創(chuàng)建數(shù)據(jù)表 1686.1.2 菜單展示 1706.1.3 菜單列表 1736.1.4 菜單添加和修改 1766.1.5 表單驗(yàn)證 1796.1.6 菜單刪除 1816.2 角色管理 1826.2.1 創(chuàng)建數(shù)據(jù)表 1826.2.2 角色列表 1826.2.3 角色添加和修改 1846.2.4 角色刪除 1866.3 權(quán)限管理 1876.3.1 創(chuàng)建數(shù)據(jù)表 1876.3.2 權(quán)限列表 1886.3.3 權(quán)限添加和修改 1926.3.4 權(quán)限刪除 1966.4 用戶管理 1966.4.1 用戶列表 1966.4.2 用戶添加和修改 1996.4.3 用戶刪除 2026.4.4 修改密碼 2026.5 訪問控制 2046.5.1 檢查用戶權(quán)限 2046.5.2 根據(jù)用戶權(quán)限顯示菜單 206本章小結(jié) 206課后練習(xí) 206第7章 在線商城項(xiàng)目 2087.1 分類管理 2087.1.1 添加菜單項(xiàng) 2087.1.2 創(chuàng)建數(shù)據(jù)表 2097.1.3 分類列表 2107.1.4 分類添加和修改 2137.1.5 分類刪除 2177.2 圖片管理 2177.2.1 創(chuàng)建數(shù)據(jù)表 2177.2.2 相冊(cè)列表 2197.2.3 查看相冊(cè) 2217.2.4 整合WebUploader 2237.2.5 上傳圖片 2277.2.6 創(chuàng)建縮略圖 2297.2.7 刪除圖片 2317.2.8 將相冊(cè)放入模態(tài)框 2327.3 商品管理 2357.3.1 創(chuàng)建數(shù)據(jù)表 2357.3.2 商品列表 2367.3.3 商品軟刪除 2397.3.4 快捷上下架 2437.3.5 商品添加與修改 2447.3.6 上傳圖片 2487.3.7 整合UEditor 252本章小結(jié) 255課后練習(xí) 255第8章 Linux環(huán)境 2578.1 LNMP環(huán)境搭建 2578.1.1 安裝Linux 2578.1.2 安裝Nginx 2618.1.3 安裝PHP 2648.1.4 安裝MySQL 2688.1.5 安裝Composer和ThinkPHP 2718.2 Memcached 2728.2.1 初識(shí)Memcached 2728.2.2 安裝Memcached 2738.2.3 PHP操作Memcached 2758.2.4 ThinkPHP操作Memcached 2788.3 Redis 2798.3.1 初識(shí)Redis 2798.3.2 安裝Redis 2798.3.3 Redis入門 2828.3.4 PHP操作Redis 2858.3.5 ThinkPHP操作Redis 2868.4 MongoDB 2878.4.1 初識(shí)MongoDB 2878.4.2 安裝MongoDB 2888.4.3 MongoDB入門 2898.4.4 PHP操作MongoDB 2918.4.5 ThinkPHP操作MongoDB 292 8.5 Elasticsearch 2938.5.1 初識(shí)Elasticsearch 2938.5.2 安裝Elasticsearch 2948.5.3 使用Elasticsearch 2958.5.4 ThinkPHP操作Elasticsearch 2988.6 Swoole 2998.6.1 初識(shí)Swoole 2998.6.2 安裝Swoole 2998.6.3 使用Swoole 3008.7 Docker 3018.7.1 初識(shí)Docker 3018.7.2 安裝Docker 3018.7.3 使用Docker 302本章小結(jié) 303課后練習(xí) 303第9章 ThinkPHP+Vue.js輕社區(qū)項(xiàng)目 3059.1 前后端分離開發(fā)概述 3059.2 項(xiàng)目介紹 3069.2.1 項(xiàng)目展示 3069.2.2 需求分析 3079.2.3 技術(shù)方案 3089.2.4 數(shù)據(jù)庫設(shè)計(jì) 3089.3 項(xiàng)目開發(fā)說明 310本章小結(jié) 310