[TOC]
## 簡介
在本節,我們將首先分析一下要構建項目( ThinkBBS )的功能,便大家對我們要開發的項目有一個初步概念。
## 用例分析
ThinkBBS 是本教程將要構建的項目名稱,是一款論壇軟件。此論壇軟件是以 [ThinkPHP 技術論壇](https://learnku.com/thinkphp) 作為基礎原型來構建。
下面我們簡單地從產品用例的角度上來分析 ThinkBBS 的需求,好讓大家對我們即將開發的項目有個基礎的概念。我們主要從以下三種元素入手:
* 角色
* 信息
* 動作
接下來做單獨分解。
## 1. 角色
在 ThinkBBS 里,將會出現以下角色:
- 游客 —— 沒有登錄的用戶(前臺應用);
- 用戶 —— 社區注冊用戶(前臺應用);
- 運營 —— 輔助管理員做社區內容管理(后臺應用);
- 站長 —— 權限最高的用戶角色(后臺應用)。
我們項目在構建過程中前后臺是分離的,前后臺權限是完全獨立的,但在同一平臺內高權限用戶將包含低權限用戶的權限,即 **用戶** 擁有 **游客** 的所有權限,**站長** 擁有 **運營** 的所有權限。
## 2. 信息結構
主要信息有:
- 用戶 —— 模型名稱 User,論壇為 UGC 產品,所有內容都圍繞用戶來進行;
- 話題 —— 模型名稱 Topic,ThinkBBS 論壇應用的最核心數據,有時我們稱為「帖子」;
- 分類 —— 模型名稱 Category,話題的分類,每一個話題必須對應一個分類,分類由 **運營** 或 **站長** 創建;
- 回復 —— 模型名稱 Reply,針對某個話題的討論,一個話題下可以有多個回復。
## 3. 動作
角色和信息之間的互動稱之為『動作』,動作主要由以下幾個:
- 創建 Create
- 查看 Read
- 編輯 Update
- 刪除 Delete
## 用例
我們將分別講解角色的用例,為了減少重復,我們對講解的順序做了設計,同平臺內排后的高權限角色適用前面角色的用例。
## 1. 游客
- 游客可以查看所有話題列表;
- 游客可以查看某個分類下的所有話題列表;
- 游客可以按照發布時間和最后回復時間進行話題列表排序;
- 游客可以查看單個話題內容;
- 游客可以查看話題的所有回復;
- 游客可以通過注冊按鈕創建用戶(游客專屬);
- 游客可以查看用戶的個人頁面。
## 2. 用戶
- 用戶可以在某個分類下發布話題;
- 用戶可以編輯自己發布的話題;
- 用戶可以刪除自己發布的話題;
- 用戶可以回復所有話題;
- 用戶可以刪除自己的回復;
- 用戶可以編輯自己的個人資料。
## 3. 運營
- 運營可以訪問后臺;
- 運營可以刪除注冊用戶;
- 運營可以刪除所有的話題;
- 運營可以刪除所有的回復;
- 運營可以 CURD 分類。
## 4. 站長
- 站長可以修改站點設置;
- 站長可以 CURD 后臺管理員用戶;
- 站長可以 CURD 后臺角色組;
- 站長可以 CURD 后臺訪問路由。
- 第一章 基礎信息
- 序言
- 關于作者
- PHP和ThinkPHP
- 如何正確閱讀本書
- 寫作約定
- 開發規范
- 章節體例
- 本書源碼
- 第二章 舞臺布置
- 開發環境
- 產品分解
- Git和GitHub
- 創建項目
- 數據庫視圖管理工具
- 統一代碼風格
- 目錄結構
- 配置信息
- 后臺應用搭建
- 助手函數
- 前臺布局模板
- 基礎控制器
- 小結
- 第三章 注冊登錄
- 數據遷移
- 表單提交
- 表單驗證
- 模型驗證
- 短信提供商
- 發送短信
- 手機驗證
- 注冊提醒
- 登錄與退出
- 重置密碼
- 數據填充
- 小結
- 第四章 用戶相關
- 個人中心
- 編輯個人資料
- 上傳圖片
- 上傳頭像
- 顯示頭像
- 限制頭像分辨率
- 裁剪頭像
- 顯示注冊時間
- 授權訪問
- 小結
- 第五章 帖子列表
- 話題分類
- 話題模型
- 話題列表
- 性能優化
- 分類話題列表
- 話題列表排序
- 用戶發布的話題
- 分頁器美化
- 小結
- 第六章_帖子CURD
- 創建話題
- 生成摘要
- 編輯器優化
- 上傳圖片
- 顯示話題
- 編輯話題
- 刪除話題
- 小結
- 第七章 帖子回復
- 回復模型
- 回復列表
- 發表回復
- 刪除回復
- XSS 安全漏洞
- 小結
- 第八章 角色權限和管理后臺
- 多角色用戶權限
- 用戶管理
- 話題管理
- 回復管理
- 小結
- 第九章 雜項
- 邊欄活躍用戶
- 用戶最后登錄時間
- 邊欄資源推薦
- 站點首頁
- 小結
- 第十章 總結
- 全書總結
- 附錄
- 淺談ThinkPHP6.0 路由