[TOC]
## 行文篇幅的約定
Web 開發涉及的技術話題比較廣泛,新手在接觸時,如果暴露在太多的技術話題下,會覺得無所適從。所以,我們在涉及技術話題講解章節里盡量控制文章的篇幅,把對一些技術話題的講解做到 **點到為止** ,只暴露出來剛剛好的知識,讓你能跟上整書的行文線路,而不會深陷技術話題的沼澤。
我們希望新手讀者能理解這個設計,在第一遍的學習中,遇到本書提到的一些技術話題時, **不需要做到力求甚解** 。跟著本書的線路走,一步步前進,慢慢地腦子里對這些新話題有了基本的印象,等最終學習完本書后,再去對本書提到的技術話題進行深度學習。不用著急,要告訴自己:
>[info] 隨后你會有很多機會來學習它們。現在最重要的是保持『訓練』的連貫性。
編程和學習的愉悅性,都需要謹慎的呵護,這樣才能高效學習。
## 刻意練習
>[info] 編程是技能,不是知識,技能只有在不斷練習下才會有進步。
這是一本用來動手練習的書,不是一本用來 **閱讀** 的書。你的編碼學習之路,只能從你敲打下第一行代碼開始。這個有點像學打籃球,我們知道,看再多的 NBA 視頻,你都無法成為籃球高手。你的籃球學習,只有當你站著球場上,真真實實地拍打籃球,才算開始。
本書的線索性很強,節節相扣,讀者可以輕松的照著一步一步完成一個完整的 Web 項目,這也是本書的魅力所在。編程是一門技能,是一門需要 **刻意練習** 的技能,我們要求讀者在短時間內,仔細揣摩、分解其中提到的技術話題,盡量手打代碼,做上 **5 遍** ,方能盡得此書精華。
刻意練習需要有反饋,在重復練習時,挑戰自己:
- 從頭到尾做一遍需要花多長時間?
- 能不能在完全不看書的情況下,構建書中的示例項目?
- 第一章 基礎信息
- 序言
- 關于作者
- PHP和ThinkPHP
- 如何正確閱讀本書
- 寫作約定
- 開發規范
- 章節體例
- 本書源碼
- 第二章 舞臺布置
- 開發環境
- 產品分解
- Git和GitHub
- 創建項目
- 數據庫視圖管理工具
- 統一代碼風格
- 目錄結構
- 配置信息
- 后臺應用搭建
- 助手函數
- 前臺布局模板
- 基礎控制器
- 小結
- 第三章 注冊登錄
- 數據遷移
- 表單提交
- 表單驗證
- 模型驗證
- 短信提供商
- 發送短信
- 手機驗證
- 注冊提醒
- 登錄與退出
- 重置密碼
- 數據填充
- 小結
- 第四章 用戶相關
- 個人中心
- 編輯個人資料
- 上傳圖片
- 上傳頭像
- 顯示頭像
- 限制頭像分辨率
- 裁剪頭像
- 顯示注冊時間
- 授權訪問
- 小結
- 第五章 帖子列表
- 話題分類
- 話題模型
- 話題列表
- 性能優化
- 分類話題列表
- 話題列表排序
- 用戶發布的話題
- 分頁器美化
- 小結
- 第六章_帖子CURD
- 創建話題
- 生成摘要
- 編輯器優化
- 上傳圖片
- 顯示話題
- 編輯話題
- 刪除話題
- 小結
- 第七章 帖子回復
- 回復模型
- 回復列表
- 發表回復
- 刪除回復
- XSS 安全漏洞
- 小結
- 第八章 角色權限和管理后臺
- 多角色用戶權限
- 用戶管理
- 話題管理
- 回復管理
- 小結
- 第九章 雜項
- 邊欄活躍用戶
- 用戶最后登錄時間
- 邊欄資源推薦
- 站點首頁
- 小結
- 第十章 總結
- 全書總結
- 附錄
- 淺談ThinkPHP6.0 路由