# ThinkPHP6 架構
*****
### 一、單應用模式
* 項目訪問路徑:[www.xxx.com/index.php/index/index](http://www.xxx.com/index.php/index/index)
>[success] index.php 入口文件
> index 控制器
> index 操作
```php
├─app 應用目錄
│ ├─controller 控制器目錄
│ ├─model 模型目錄
│ ├─view 視圖目錄
│ └─ ... 更多類庫目錄
│
├─public WEB目錄(對外訪問目錄)
│ ├─index.php 入口文件
│ └─.htaccess 用于apache的重寫
│
├─config 應用配置目錄
│ ├─index 應用配置
│
├─route 路由定義目錄
│ ├─index 應用路由定義
│
├─runtime 運行時目錄
│ ├─index 應用運行時
```
*****
### 二、多應用模式
* 項目訪問路徑:[www.xxx.com/index.php/index/index/index](http://www.xxx.com/index.php/index/index/index)
>[success] index.php 入口文件
> index 項目
> index 控制器
> index 操作
```php
├─app 應用目錄
│ ├─index 主應用
│ │ ├─controller 控制器目錄
│ │ ├─model 模型目錄
│ │ ├─view 視圖目錄
│ │ ├─config 配置目錄(優先)
│ │ └─ ... 更多類庫目錄
│ ├─admin 后臺應用
│ │ ├─controller 控制器目錄
│ │ ├─model 模型目錄
│ │ ├─view 視圖目錄
│ │ ├─config 配置目錄(優先)
│ │ └─ ... 更多類庫目錄
│
├─public WEB目錄(對外訪問目錄)
│ ├─admin.php 后臺入口文件
│ ├─index.php 入口文件
│ └─.htaccess 用于apache的重寫
│
├─config 應用配置目錄
│ ├─index index應用配置
│ └─admin admin應用配置
│
├─route 路由定義目錄
│ ├─index index應用路由定義目錄
│ └─admin admin應用路由定義目錄
│
├─runtime 運行時目錄
│ ├─index index應用運行時目錄
│ └─admin admin應用運行時目錄
```
*****
### 三、入口文件
* 入口文件統一在 `public` 目錄下
>[danger] public/index.php 是ThinkPHP框架入口文件,訪問地址:[www.xxx.com/index.php](http://www.xxx.com/index.php)
* 需要多入口,在 `public` 目錄下創建 `admins.php` 文件
>[danger] public/admins.php 入口文件,訪問地址:[www.xxx.com/admins.php](http://www.xxx.com/admins.php)
*****
### 四、MVC
* `MVC` 一種軟件架構模式
* 軟件系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)
* `ThinkPHP` 是一個典型的 `MVC` 架構
>[success] 控制器 - 負責轉發請求,對請求進行處理。
> 視圖 - 界面設計人員進行圖形界面設計。
> 模型 - 程序員編寫程序應有的功能(實現算法等等)、數據庫專家進行數據管理和數據庫設計(可以實現具體的功能)。

*****
### 五、調試模式
* `ThinkPHP` 有專門為開發過程而設置的調試模式,開啟調試模式后,會犧牲一定的執行效率,但帶來的方便和除錯功能非常值得
>[danger] .env文件
```php
// 設置開啟調試模式
APP_DEBUG = true
```
*****
### 六、Trace調試
* `Trace` 調試功能就是ThinkPHP提供給開發人員的一個用于開發調試的輔助工具。可以實時顯示當前頁面或者請求的請求信息、運行情況、SQL執行、錯誤信息和調試信息等,并支持自定義顯示,并且支持沒有頁面輸出的操作調試。
* 頁面Trace功能僅在調試模式下有效
>[danger] 開啟 `Trace` 調試
```php
// 全局中間件定義文件中添加
think\middleware\TraceDebug
```
- 序言
- PHP基礎
- 認識PHP
- 環境安裝
- PHP語法
- 流程控制
- PHP數組
- PHP函數
- PHP類與對象
- PHP命名空間
- PHP7新特性
- PHP方法庫
- PHP交互
- 前后端交互
- 項目常規開發流程
- MySQL數據庫
- 會話控制
- Ajax分頁技術
- 細說函數
- 類與對象
- 對象進階
- 類與對象進階
- OOP面向對象
- 設計模式
- 路由與模板引擎
- 異常類
- PHP爬蟲
- PHP抓取函數
- PHP匹配函數
- 正則表達式
- PHP字符串函數
- 抓取實戰
- PHP接口
- 了解接口
- PHP插件
- PHPSpreadsheet
- ThinkPHP6
- 安裝
- 架構
- 數據庫
- 數據庫操作
- 視圖
- 模版
- 模型
- 雜項
- 命令行
- 交互
- 微信小程序
- 介紹
- 配置
- 組件
- 交互
- API
- 其他知識
- 百度小程序
- 介紹
- 配置
- 組件
- 交互
- API
- 其他知識
- Linux
- 服務器上線流程
- 安裝svn
- MySQL
- 認識MySQL
- MySQL函數
- 雜項
- composer依賴管理工具