1. 程式人生 > >ThinkPHP5.0打造小程式商城構建全棧應用

ThinkPHP5.0打造小程式商城構建全棧應用

第1章 前言:不同的時代,不同的Web
我們說,做一個產品,真的只是做一個產品嗎?恐怕不是。現代的Web產品是一個產品矩陣,需要有良好的伺服器端架構來支撐整個產品體系。本小節,我們將對現代Web體系做一個介紹,並對課程所需要學習的知識點有一個初步的瞭解。...
1-1 前言與導語
1-2 產品所使用的技術
1-3 課程流程與體系
1-4 擴充套件課程:<三端分離>
1-5 專案特點
1-6 TP5技術點簡介
1-7 微信技術點簡介
1-8 MySQL技術點簡介
1-9 學習方式
1-10 前置知識需求
1-11 擴充套件課程《理解Web與前端》
1-12 擴充套件課程《第三方元件應該合理選擇,特別是在學習階段》
1-13 維護與提問

第2章 環境、工具與準備工作
工欲善其事必先利器。我們要做一個全棧專案,那麼就必須先將環境搭建好。此小節中,我們將搭建產品開發、執行所需要的必須環境,並對常見工具的使用技巧進行詳細的介紹。
2-1 環境與開發工具
2-2 安裝xampp
2-3 下載ThinkPHP 5
2-4 三端命名與執行ThinkPHP 5
2-5 PHPStorm安裝及常見使用技巧
2-6 TP5層次結構
2-7 擴充套件:TP5自帶的Web Server
2-8 在PHPStorm下斷點除錯程式碼
2-9 PATH_INFO URL路徑模式解析

第3章 模組、路由與獲取請求引數
本小節中我們將對TP5的入口檔案、三種URL訪問模式、虛擬域名配置、路由定義等知識做詳細的講解。
3-1 來編寫一個簡單的模組(多模組與模組名稱空間)
3-2 配置虛擬域名簡化URL路徑
3-3 安裝PostMan
3-4 三種URL訪問模式
3-5 定義路由
3-6 獲取請求引數
3-7 產品功能講解與分析
3-8 Navicat安裝以及資料庫設計初步分析

第4章 構建驗證層
客戶端的輸入永遠是不可信的,我們將在此小節中使用TP5的Validate驗證器來構建面向物件的驗證層。
4-1 Banner資料表設計分析
4-2 Banner介面定義及自定義控制器多級目錄
4-3 Validate:獨立驗證
4-4 Validate 驗證器
4-5 零食商販結構體系詳解
4-6 自定義驗證規則
4-7 工欲善其事必先利器:構建介面引數校驗層

第5章 REST與RESTFul
REST的流行距今為止已經差不多有10年了。不管你是否選擇使用RESTFul API,但至少我們需要了解它。本小節,我們將對REST與RESTFul API的最佳實踐做詳細的講解。
5-1 介紹下REST之前的重要協議:SOAP
5-2 RESTFul API 的特點解析
5-3 RESTFul API的最佳實踐
5-4 如何學習RESTFul API設計

第6章 AOP與全域性異常處理
我們經常在寫程式碼時會遇到異常、丟擲異常,處理異常。可異常究竟怎麼處理更加合適?異常怎麼表示更加標準和規範?本小節,我們將使用TP5的特性和AOP的思想來構建一個全域性異常處理層。
6-1 正確理解異常處理流程
6-2 固有的處理異常的思維模式與流程
6-3 理清思路,總結異常的分類_
6-4 實現自定義全域性異常處理 上
6-5 實現自定義全域性異常處理 下
6-6 ThinkPHP5中的日誌系統
6-7 在全域性異常處理中加入日誌記錄
6-8 全域性異常處理的應用 上
6-9 全域性異常處理的應用 中
6-10 全域性異常處理的應用 下
6-11 本章小結與AOP思想

第7章 資料庫訪問與ORM
伺服器程式碼很大一部分都是對資料的整理、操作、運算,資料庫作為資料的來源必然是整個伺服器端的重中之重。我們將在本小節中,詳細學習TP5的資料庫訪問知識以及說明是ORM,如何使用ORM的思想來對資料庫進行增刪改查。
7-1 資料庫操作三種方式之原生SQL
7-2 從一個錯誤瞭解Exception的繼承關係
7-3 TP5資料庫中間層架構解析
7-4 查詢構造器 一
7-5 查詢構造器 二
7-6 查詢構造器 三
7-7 開啟SQL日誌記錄
7-8 ORM與模型
7-9 初識模型
7-10 模型定義總結
7-11 靜態呼叫還是例項物件呼叫
7-12 幾種查詢動詞的總結與ORM效能問題的探討

第8章 專題、分類、商品詳情介面編寫
本小節我們將綜合使用之前學習的知識,編寫專題、分類和商品等模組的介面,加深對知識的理解。
8-1 Banner相關表分析(資料表關係分析)
8-2 模型關聯----定於關聯與查詢關聯
8-3 模型關聯----巢狀關聯查詢
8-4 隱藏模型欄位
8-5 在模型內部隱藏欄位
8-6 圖片資源URL配置
8-7 讀取器的巧妙應用
8-8 自定義模型基類
8-9 定義API版本號
8-10 專題介面模型分析
8-11 一對一關係解析
8-12 Theme介面驗證與重構
8-13 完成Theme簡要資訊介面
8-14 開啟路由完整匹配模式
8-15 編寫Theme詳情介面
8-16 資料庫欄位冗餘的合理利用
8-17 REST的合理利用
8-18 最近新品介面編寫
8-19 使用資料集還是陣列?
8-20 分類列表介面編寫
8-21 擴充套件:介面粒度與介面分層
8-22 分類商品介面編寫

第9章 微信登入與令牌
使用者登入、許可權分級與介面保護對於API來說是非常重要的。我們將使用微信的身份認證體系來實現免密登陸、使用Token令牌來替代我們傳統Web開發中的Cookie進行使用者身份驗證與許可權分級。在有了Token令牌後,我們就可以對使用者相關介面:收貨地址進行編寫了。...
9-1 初識Token---意義與作用
9-2 微信身份體系設計
9-3 實現Token身份許可權體系
9-4 實現Token身份許可權體系二---獲取openid
9-5 實現Token身份許可權體系三
9-6 實現Token身份許可權體系四
9-7 實現Token身份許可權體系五
9-8 API小程式測試工具
9-9 商品詳情介面分析與初步編寫
9-10 路由變數規則與分組
9-11 閉包函式構建查詢器
9-12 使用者收貨地址-----通過令牌獲取使用者標識
9-13 使用者收貨地址-----面向物件的方式封裝獲取UID方法
9-14 使用者收貨地址-----模型新增和更新
9-15 使用者收貨地址-----引數過濾
9-16 使用者收貨地址-----介面測試

第10章 微信支付
微信支付我們經常使用,但我們瞭解微信支付的整個流程嗎?本小節,我們將詳細介紹微信支付的整個流程並編寫產品的下單、支付與處理支付結果的相關介面。
10-1 Scope許可權作用域的應用
10-2 前置方法
10-3 對Address介面做許可權控制
10-4 下單與支付的業務流程(庫存量檢測)
10-5 下單與支付詳細流程
10-6 重構許可權控制前置方法
10-7 編寫一個複雜的驗證器
10-8 下單介面業務模型 一
10-9 下單介面業務模型 二
10-10 訂單快照
10-11 訂單快照的實現
10-12 訂單建立
10-13 一對多關係的新增操作
10-14 測試訂單介面
10-15 TP5自動寫入時間戳
10-16 在TP5中使用事務
10-17 關於微信支付
10-18 支付的伺服器端編寫 一
10-19 支付的伺服器端編寫 二
10-20 支付的伺服器端編寫 三
10-21 支付的伺服器端編寫 四
10-22 支付的伺服器端編寫 五
10-23 支付的伺服器端編寫 六
10-24 支付的伺服器端編寫 七
10-25 支付的小程式端講解(含簽名的作用講解) 八
10-26 支付的伺服器端編寫 九
10-27 統一測試訂單與支付介面 十
10-28 支付的伺服器端編寫(支付結果回撥機制) 十一
10-29 支付回撥通知處理 一
10-30 支付回撥通知處理 二
10-31 事務與鎖防止多次減庫存
10-32 接收微信回撥
10-33 測試支付全流程
10-34 可以斷點除錯微信支付的回撥嗎?
10-35 TP5中的分頁查詢與獲取使用者歷史訂單資料
10-36 測試與驗證歷史訂單資料介面
10-37 訂單詳情介面

第11章 前端部分:前端框架構建與令牌管理,首頁、專題、分類等模組編寫
本章我們將開始前端程式碼的編寫。我們在本小節中將介紹前端編碼的一些規範並動手實現一些基礎框架功能。此外,我們還將編寫產品的首頁、專題以及分類等模組。
11-1 小程式部分開場白與新建小程式專案
11-2 新建首頁頁面與小程式中的MVC
11-3 使用ES6構建面向物件的JS程式碼及訪問伺服器API獲取資料
11-4 非同步回撥與箭頭函式
11-5 構建請求基類(重要)
11-6 請求基類的應用
11-7 使用資料繫結將資料顯示在UI上
11-8 商品主題UI與資料載入
11-9 wxif 的應用
11-10 小程式模板的分析與應用
11-11 全域性樣式與複用思想
11-12 頁面跳轉11-12
11-13 頁面間傳遞與接收引數
11-14 window與tarbar的配置
11-15 主題頁面與資料
11-16 動態設定導航欄標題.
11-17 商品詳情頁面 一
11-18 商品詳情頁面 二 Picker元件詳解
11-19 商品詳情頁面 三 自定義選項卡切換思路
11-20 商品詳情頁面 四
11-21 商品分類頁面 一
11-22 商品分類頁面 二
11-23 資料從伺服器到前端互動的流程總結(重要)
11-24 商品分類切換 三
11-25 拒絕頻繁向伺服器傳送請求
11-26 分類商品跳轉到商品詳情

第12章 購物車
購物車的操作是整個前端中最為複雜,本章節中我們將實現客戶端的購物車功能。
12-1 以面向物件的方式編寫購物車操作程式碼
12-2 商品詳情頁面載入時顯示購物車商品數量
12-3 商品詳情頁面動態響應使用者加入購物車操作
12-4 購物車頁面開發 一
12-5 購物車頁面開發 二
12-6 購物車頁面開發 三 自定義checkbox及狀態控制_x264
12-7 購物車頁面開發 四
12-8 購物車頁面開發 五
12-9 購物車頁面開發 六
12-10 購物車頁面開發 七
12-11 這個問題你發現了嗎

第13章 實現微信支付、購買商品流程與使用者歷史訂單
微信支付必須是伺服器與客戶端一起配合完成的。本章中,我們將來實現商品的完整購買流程。
13-1 訂單詳情頁面
13-2 新增使用者收貨地址
13-3 儲存使用者收貨地址
13-4 客戶端令牌管理機制 (重要)
13-5 新增API令牌驗證介面
13-6 客戶端Token類實現
13-7 重構Base下的Request方法
13-8 解決無限未授權重試的問題
13-9 測試未授權重試機制
13-10 在Order頁面載入和顯示使用者地址
13-11 伺服器API新增獲取使用者地址資訊介面
13-12 下單與支付
13-13 支付後重新整理訂單詳情頁面
13-14 修復訂單快照下商品圖片的問題
13-15 訂單狀態未成功修改的原因
13-16 點選按鈕返回訂單詳情頁面
13-17 獲取使用者資訊
13-18 顯示使用者收貨地址
13-19 初步顯示歷史訂單
13-20 分頁載入歷史訂單資料
13-21 重構訂單詳情頁面
13-22 在我的訂單裡進行支付
13-23 避免重複重新整理訂單列表
13-24 彈出使用者收貨地址授權介面

第14章 CMS與CORS跨域
不用開源的CMS管理系統,我們自己動手來編寫一個小型的CMS框架,並實現微信模板訊息的傳送。
14-1 如何理解CMS在架構中的位置
14-2 訪問CMS
14-3 應用令牌獲取介面與應用令牌的理解
14-4 獲取所有訂單(分頁)
14-5 微信模板訊息介紹
14-6 實現傳送模板訊息
14-7 測試傳送模板訊息
14-8 分離CMS
14-9 CORS跨域的概念與TP5的解決方案

第15章 小程式部署流程與TP5在生產環境中的優化
本章節將對產品做一個整體的回顧,並講解小程式從開發到釋出再到部署的全部流程以及一些伺服器的基本優化措施。
15-1 生成資料庫表字段與路由快取提升效能
15-2 另一種思路處理庫存量的問題

下載地址:ThinkPHP5.0打造小程式商城構建全棧應用