1.TP框架基礎 1.1目錄結構 1.2配置文件 1.框架主配置文件(慣例配置文件) thinkphp/convention.php 2. 應用公共配置文件 application/config.php, application/database.php 對整個應用生效 3.模塊配置文件 appli ...
1.TP框架基礎
1.1目錄結構
1.project 應用部署目錄 2.├─application 應用目錄(可設置) 3.│ ├─common 公共模塊目錄(可更改) 4.│ ├─index 模塊目錄(可更改) 5.│ │ ├─config.php 模塊配置文件 6.│ │ ├─common.php 模塊函數文件 7.│ │ ├─controller 控制器目錄 8.│ │ ├─model 模型目錄 9.│ │ ├─view 視圖目錄 10.│ │ └─ ... 更多類庫目錄 11.│ ├─command.php 命令行工具配置文件 12.│ ├─common.php 應用公共(函數)文件 13.│ ├─config.php 應用(公共)配置文件 14.│ ├─database.php 資料庫配置文件 15.│ ├─tags.php 應用行為擴展定義文件 16.│ └─route.php 路由配置文件 17.├─extend 擴展類庫目錄(可定義) 18.├─public WEB 部署目錄(對外訪問目錄) 19.│ ├─static 靜態資源存放目錄(css,js,image) 20.│ ├─index.php 應用入口文件 21.│ ├─router.php 快速測試文件 22.│ └─.htaccess 用於 apache 的重寫 23.├─runtime 應用的運行時目錄(可寫,可設置) 24.├─vendor 第三方類庫目錄(Composer) 25.├─thinkphp 框架系統目錄 26.│ ├─lang 語言包目錄 27.│ ├─library 框架核心類庫目錄 28.│ │ ├─think Think 類庫包目錄 29.│ │ └─traits 系統 Traits 目錄 30.│ ├─tpl 系統模板目錄 31.│ ├─.htaccess 用於 apache 的重寫 32.│ ├─.travis.yml CI 定義文件 33.│ ├─base.php 基礎定義文件 34.│ ├─composer.json composer 定義文件 35.│ ├─console.php 控制台入口文件 36.│ ├─convention.php 慣例配置文件 37.│ ├─helper.php 助手函數文件(可選) 38.│ ├─LICENSE.txt 授權說明文件 39.│ ├─phpunit.xml 單元測試配置文件 40.│ ├─README.md README 文件 41.│ └─start.php 框架引導文件 42.├─build.php 自動生成定義文件(參考) 43.├─composer.json composer 定義文件 44.├─LICENSE.txt 授權說明文件 45.├─README.md README 文件 46.├─think 命令行入口文件
1.2配置文件
1.框架主配置文件(慣例配置文件) thinkphp/convention.php
2. 應用公共配置文件 application/config.php, application/database.php 對整個應用生效
3.模塊配置文件 application/模塊目錄/config.php 對當前模塊生效
1.3
3.TP框架中的控制器
3.1控制器的尾碼
打開配置文件application/config.php,有如下配置
'controller_suffix' => false,
如果需要進行設置,可以設置為(我們不需要這麼設置)
'controller_suffix' => 'Controller',
表示控制器以Controller為尾碼。例如Index控制器,文件名為IndexController.php
3.2控制器的定義
1.表示控制器以Controller為尾碼。例如Index控制器,文件名為IndexController.php
定義位置:application/模塊目錄/controller/目錄下
命名規則:控制器名稱(首字母大寫) + (控制器尾碼,預設沒有) + .php
預設:Index控制器 Index.php
2.編寫控制器
聲明命名空間 namespace app\模塊目錄名\controller
引入控制器基類(可選) use think\Controller; think是命名空間 Controller是基類控制器
定義當前控制器類,繼承控制器基類(可選)
3.3框架的命名空間
命名空間本身是PHP就有的,用來防止命名衝突問題的。
TP框架中的命名空間,通常和目錄掛鉤。
原因:TP中的自動載入機制,會將類的命名空間作為載入路徑的一部分。
1. 聲明命名空間 使用namespace關鍵字
2.引入指定的類 使用use關鍵字 命名空間\類名稱
3.完全限定式訪問 在使用類時,\完整命名空間\類名稱(繼承和實例化)
如果一個類沒有命名空間,使用 \類名
4.命令行創建模塊目錄及文件
4.1命名行創建模塊目錄
通常可以通過以下命令,自動生成模塊目錄
php think build --module 模塊名
4.2
php think make:controller 模塊名/控制器名
php think make:controller 模塊名/控制器名 --plain
4.3
php think make:model 模塊名/模型名