## 簡介
在本章我們將完成 ThinkBBS 項目的創建,以及在功能代碼開發前的一些環境設置和變量配置等。在本節,我們首先主要介紹怎樣用 Homestead 來搭建 ThinkPHP 項目開發環境。
## 搭建步驟
因為 ThinkPHP 項目開發使用的操作系統和數據庫配置和 Laravel 開發需要的環境完全相同,兩者的唯一區別是 Nginx 的 `VirtualHost` 重寫規則( rewrite )配置規則不一樣。所以大家請按照 [Laravel開發環境部署](https://learnku.com/docs/laravel-development-environment/5.8) 來搭建開發環境。不過在執行到 `Homestead.yaml 配置文件` ([mac版](https://learnku.com/docs/laravel-development-environment/5.8/development-environment-macos/4372) 和 [windows版](https://learnku.com/docs/laravel-development-environment/5.8/development-environment-windows/4373)) 這一步時請對下面這個腳本文件的一段代碼進行替換。
*scripts/serve-laravel.sh*
把以下這段代碼:
```bash
location / {
try_files $uri $uri/ /index.php?$query_string;
}
```
替換成:
```bash
location / {
if (!-e \$request_filename) {
rewrite ^(.*)$ /index.php?s=/\$1 last;
}
}
```
替換以上代碼的目地是讓 Homestead 按照 ThinkPHP 項目的重寫規則生成 VirtualHost 的重寫規則。
**如果你使用 Homestead 同時開發 Laravel 、 ThinkPHP 或其它框架項目的話**,可以不替換上面這段代碼,只需要在 [項目創建]() 這一節完成項目創建后替換 `/etc/nginx/sites-available/bbs.test` 里生成好的重寫規則代碼并重啟 Nginx 服務。
另外,如果你使用的宿主操作系統是 Windows ,**強烈建議** 你按照 [Laravel Homestead:開啟 NFS 解決站點響應緩慢](https://learnku.com/laravel/wikis/25550) 開啟 NFS ,否則在開發過程中會出現網頁響應速度緩慢。
>[info] 雖然本書是一個 ThinkPHP 開發教程,1)為了避免因為開發環境造成代碼運行結果不同;2)教程主要是介紹 ThinkPHP 項目開發,不想花過多的精力來介紹 PHP擴展、MySQL 和 Redis 安裝等內容,所以請大家嚴格按照以上要求設置完畢后再開始下一節內容學習。
- 第一章 基礎信息
- 序言
- 關于作者
- PHP和ThinkPHP
- 如何正確閱讀本書
- 寫作約定
- 開發規范
- 章節體例
- 本書源碼
- 第二章 舞臺布置
- 開發環境
- 產品分解
- Git和GitHub
- 創建項目
- 數據庫視圖管理工具
- 統一代碼風格
- 目錄結構
- 配置信息
- 后臺應用搭建
- 助手函數
- 前臺布局模板
- 基礎控制器
- 小結
- 第三章 注冊登錄
- 數據遷移
- 表單提交
- 表單驗證
- 模型驗證
- 短信提供商
- 發送短信
- 手機驗證
- 注冊提醒
- 登錄與退出
- 重置密碼
- 數據填充
- 小結
- 第四章 用戶相關
- 個人中心
- 編輯個人資料
- 上傳圖片
- 上傳頭像
- 顯示頭像
- 限制頭像分辨率
- 裁剪頭像
- 顯示注冊時間
- 授權訪問
- 小結
- 第五章 帖子列表
- 話題分類
- 話題模型
- 話題列表
- 性能優化
- 分類話題列表
- 話題列表排序
- 用戶發布的話題
- 分頁器美化
- 小結
- 第六章_帖子CURD
- 創建話題
- 生成摘要
- 編輯器優化
- 上傳圖片
- 顯示話題
- 編輯話題
- 刪除話題
- 小結
- 第七章 帖子回復
- 回復模型
- 回復列表
- 發表回復
- 刪除回復
- XSS 安全漏洞
- 小結
- 第八章 角色權限和管理后臺
- 多角色用戶權限
- 用戶管理
- 話題管理
- 回復管理
- 小結
- 第九章 雜項
- 邊欄活躍用戶
- 用戶最后登錄時間
- 邊欄資源推薦
- 站點首頁
- 小結
- 第十章 總結
- 全書總結
- 附錄
- 淺談ThinkPHP6.0 路由