## 目錄結構
`Composer`
安裝后(或者下載后的壓縮文件解壓后)可以看到下面的目錄結構:
~~~
tp5
├─application 應用目錄
├─extend 擴展類庫目錄(可定義)
├─public 網站對外訪問目錄
├─runtime 運行時目錄(可定義)
├─vendor 第三方類庫目錄(Composer)
├─thinkphp 框架核心目錄
├─build.php 自動生成定義文件(參考)
├─composer.json Composer定義文件
├─LICENSE.txt 授權說明文件
├─README.md README 文件
├─think 命令行工具入口
~~~
>[danger]### 【 5.1 】使用須知
> * * * * *
> 5.1由于配置和路由目錄都獨立出來了(不再納入應用目錄),所以目錄結構增加了`config`和`route`,安裝后可以比對下
>[danger]### 注意:
> * * * * *
>如果在linux環境下面的話,需要給`runtime`目錄`755`權限。
有幾個關鍵的路徑先了解下:
|目錄|說明|常量|
|---|---|---|
|tp5|項目根目錄|ROOT_PATH|
|tp5/application|應用目錄|APP_PATH|
|tp5/thinkphp |框架核心目錄|THINK_PATH|
|tp5/extend |應用擴展目錄|EXTEND_PATH|
|tp5/vendor |Composer擴展目錄|VENDOR_PATH|
>[danger]### 【 5.1 】使用須知
> * * * * *
> 5.1版本取消了所有的系統常量,改為環境變量獲取
> 獲取方式為: `think\facade\Env::get('環境變量名')`
> |目錄|說明|環境變量|
> |---|---|---|
> |tp5|項目根目錄|root_path|
> |tp5/application|應用目錄|app_path|
> |tp5/thinkphp |框架核心目錄|think_path|
> |tp5/extend |應用擴展目錄|extend_path|
> |tp5/vendor |Composer擴展目錄|vendor_path|
>
核心框架目錄的結構如下:
~~~
├─thinkphp 框架系統目錄
│ ├─lang 語言包目錄
│ ├─library 框架核心類庫目錄
│ │ ├─think think 類庫包目錄
│ │ └─traits 系統 traits 目錄
│ ├─tpl 系統模板目錄
│ │
│ ├─.htaccess 用于 apache 的重寫
│ ├─.travis.yml CI 定義文件
│ ├─base.php 框架基礎文件
│ ├─composer.json composer 定義文件
│ ├─console.php 控制臺入口文件
│ ├─convention.php 慣例配置文件
│ ├─helper.php 助手函數文件(可選)
│ ├─LICENSE.txt 授權說明文件
│ ├─phpunit.xml 單元測試配置文件
│ ├─README.md README 文件
│ └─start.php 框架引導文件
~~~
>[danger]### 【 5.1 】使用須知
> * * * * *
> 5.1版本的`start.php`文件和`console.php`已經移出核心框架放入應用包。
- 零、序言
- 一、基礎
- (1)簡介
- (2)安裝
- (3)目錄結構
- (4)運行環境
- (5)入口文件
- (6)資源訪問
- (7)調試模式
- (8)控制器
- (9)視圖
- (10)讀取數據
- (11)總結
- 二、URL和路由
- (1)URL訪問
- (2)參數傳入
- (3)隱藏入口
- (4)定義路由
- (5)URL生成
- (6)總結
- 三、請求和響應
- (1)請求對象
- (2)請求信息
- (3)響應對象
- (4)總結
- 四、數據庫
- (1)準備
- (2)數據庫配置
- (3)原生查詢
- (4)查詢構造器
- (5)鏈式操作
- (6)事務支持
- 五、查詢語言
- (1)查詢表達式
- (2)批量查詢
- (3)快捷查詢
- (4)視圖查詢
- (5)閉包查詢
- (6)獲取值和列
- (7)聚合查詢
- (8)時間查詢
- (9)字符串查詢
- (10)分塊查詢
- 六、模型和關聯
- (1)模型定義
- (2)基礎操作
- (3)讀取器和修改器
- (4)類型轉換和自動完成
- (5)查詢范圍
- (6)輸入和驗證
- (7)關聯
- (8)模型輸出
- 七、視圖和模板
- (1)模板輸出
- (2)分頁輸出
- (3)公共模板
- (4)模板定位
- (5)布局模板
- (6)標簽定制
- (7)輸出替換
- (8)渲染內容
- (9)助手函數
- 八、調試和日志
- (1)第一式:未雨綢繆——頁面Trace
- (2)第二式:初見端倪——異常頁面
- (3)第三式:撥云見日——斷點調試
- (4)第四式:欲窮千里——日志分析
- (5)第五式:運籌帷幄——遠程調試
- 九、API開發
- (1)API版本
- (2)異常處理
- (3)RESTFul
- (4)REST調試
- (5)API調試
- (6)安全建議
- 十、命令行工具
- (1)查看指令
- (2)模塊生成
- (3)控制器生成
- (4)生成類庫映射文件
- (5)生成路由緩存
- (6)生成字段緩存
- (7)指令擴展
- (8)命令行調試
- (9)命令行顏色支持
- (10)命令調用
- 十一、擴展
- (1)函數擴展
- (2)類庫擴展
- (3)驅動擴展
- (4)Composer擴展
- 十二、雜項
- Session
- Cookie
- 驗證碼
- 文件上傳
- 圖像處理
- 單元測試
- 番外篇:學習ThinkPHP5的正確姿勢
- 概念篇:ThinkPHP5名詞解釋
- 附錄A、常見問題集
- 附錄B、3.2和5.0區別
- 附錄C、助手函數
- 附錄D、5.1你必須努力避免的一些問題