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