www? WEB部署目錄(或者子目錄)
├─application? ? ? ? ? 應(yīng)用目錄
│? ├─common? ? ? ? ? ? 公共模塊目錄(可以更改)
│? ├─module_name? ? ? ? 模塊目錄
│? │? ├─config.php? ? ? 模塊配置文件
│? │? ├─common.php? ? ? 模塊函數(shù)文件
│? │? ├─controller? ? ? 控制器目錄
│? │? ├─model? ? ? ? ? 模型目錄
│? │? ├─view? ? ? ? ? ? 視圖目錄
│? │? └─ ...? ? ? ? ? ? 更多類(lèi)庫(kù)目錄
│? │
│? ├─command.php? ? ? ? 命令行工具配置文件
│? ├─common.php? ? ? ? 公共函數(shù)文件
│? ├─config.php? ? ? ? 公共配置文件
│? ├─route.php? ? ? ? ? 路由配置文件
│? ├─tags.php? ? ? ? ? 應(yīng)用行為擴(kuò)展定義文件
│? └─database.php? ? ? 數(shù)據(jù)庫(kù)配置文件
│
├─public? ? ? ? ? ? ? ? WEB目錄(對(duì)外訪問(wèn)目錄)
│? ├─index.php? ? ? ? ? 入口文件
│? ├─router.php? ? ? ? 快速測(cè)試文件
│? └─.htaccess? ? ? ? ? 用于apache的重寫(xiě)
│
├─thinkphp? ? ? ? ? ? ? 框架系統(tǒng)目錄
│? ├─lang? ? ? ? ? ? ? 語(yǔ)言文件目錄
│? ├─library? ? ? ? ? ? 框架類(lèi)庫(kù)目錄
│? │? ├─think? ? ? ? ? Think類(lèi)庫(kù)包目錄
│? │? └─traits? ? ? ? ? 系統(tǒng)Trait目錄
│? │
│? ├─tpl? ? ? ? ? ? ? ? 系統(tǒng)模板目錄
│? ├─base.php? ? ? ? ? 基礎(chǔ)定義文件
│? ├─console.php? ? ? ? 控制臺(tái)入口文件
│? ├─convention.php? ? 框架慣例配置文件
│? ├─helper.php? ? ? ? 助手函數(shù)文件
│? ├─phpunit.xml? ? ? ? phpunit配置文件
│? └─start.php? ? ? ? ? 框架入口文件
│
├─extend? ? ? ? ? ? ? ? 擴(kuò)展類(lèi)庫(kù)目錄
├─runtime? ? ? ? ? ? ? 應(yīng)用的運(yùn)行時(shí)目錄(可寫(xiě),可定制)
├─vendor? ? ? ? ? ? ? ? 第三方類(lèi)庫(kù)目錄(Composer依賴(lài)庫(kù))
├─build.php? ? ? ? ? ? 自動(dòng)生成定義文件(參考)
├─composer.json? ? ? ? composer 定義文件
├─LICENSE.txt? ? ? ? ? 授權(quán)說(shuō)明文件
├─README.md? ? ? ? ? ? README 文件
├─think? ? ? ? ? ? ? ? 命令行入口文件
命名規(guī)范
ThinkPHP5遵循PSR-2命名規(guī)范和PSR-4自動(dòng)加載規(guī)范,并且注意如下規(guī)范:
目錄和文件
目錄不強(qiáng)制規(guī)范,駝峰和小寫(xiě)+下劃線模式均支持;
類(lèi)庫(kù)、函數(shù)文件統(tǒng)一以.php為后綴;
類(lèi)的文件名均以命名空間定義,并且命名空間的路徑和類(lèi)庫(kù)文件所在路徑一致;
類(lèi)名和類(lèi)文件名保持一致,統(tǒng)一采用駝峰法命名(首字母大寫(xiě));
函數(shù)和類(lèi)、屬性命名
類(lèi)的命名采用駝峰法,并且首字母大寫(xiě),例如User、UserType,默認(rèn)不需要添加后綴,例如UserController應(yīng)該直接命名為User;
函數(shù)的命名使用小寫(xiě)字母和下劃線(小寫(xiě)字母開(kāi)頭)的方式,例如get_client_ip;
方法的命名使用駝峰法,并且首字母小寫(xiě),例如getUserName;
屬性的命名使用駝峰法,并且首字母小寫(xiě),例如tableName、instance;
以雙下劃線“__”打頭的函數(shù)或方法作為魔法方法,例如__call和__autoload;
常量和配置
常量以大寫(xiě)字母和下劃線命名,例如APP_PATH和THINK_PATH;
配置參數(shù)以小寫(xiě)字母和下劃線命名,例如url_route_on和url_convert;
數(shù)據(jù)表和字段
數(shù)據(jù)表和字段采用小寫(xiě)加下劃線方式命名,并注意字段名不要以下劃線開(kāi)頭,例如think_user表和user_name字段,不建議使用駝峰和中文作為數(shù)據(jù)表字段命名。