thinkphp5.0.0 RC2
ThinkPHP5在保持快速開發和大道至簡的核心理念不變的同時,PHP版本要求提升到5.4,對已有的CBD模式做了更深的強化,最佳化核心,減少依賴,基於全新的架構思想和命名空間實現,是ThinkPHP突破原有架構思路的顛覆之作,其主要特性包括:
- 基於命名空間和眾多PHP新特性
- 核心功能組件化
- 強化路由功能
- 更靈活的控制器
- 設定檔可分離
- 重寫的自動驗證和完成
- 簡化擴充機制
- API支援完善
- 改進的Log類
- 命令列訪問支援
- REST支援
- 引導檔案支援
- 方便的自動組建定義
- 真正惰性載入
- 分布式環境支援
- 更多的社交類庫
ThinkPHP5的運行環境要求PHP5.4以上。
詳細開發文檔參考 ThinkPHP5完全開發手冊
目錄結構
初始的目錄結構如下:
www WEB部署目錄(或者子目錄)├─composer.json composer定義檔案├─README.md README檔案├─LICENSE.txt 授權說明檔案├─application 應用目錄│ ├─common 公用模組目錄(可以更改)│ ├─runtime 應用的運行時目錄(可寫,可定製)│ ├─module_name 模組目錄│ │ ├─config.php 模組設定檔│ │ ├─common.php 模組函數檔案│ │ ├─controller 控制器目錄│ │ ├─model 模型目錄│ │ ├─view 視圖目錄│ │ └─ ... 更多類庫目錄│ ││ ├─common.php 公用函數檔案│ ├─config.php 公用設定檔│ ├─route.php 路由設定檔│ └─database.php 資料庫設定檔│├─public WEB目錄(對外訪問目錄)│ ├─index.php 入口檔案│ ├─.htaccess 用於apache的重寫│ └─router.php 快速測試檔案(用於PHP內建webserver)│├─thinkphp 架構系統目錄│ ├─lang 語言檔案目錄│ ├─library 架構類庫目錄│ │ ├─think Think類庫包目錄│ │ └─traits 系統Trait目錄│ ││ ├─mode 應用模式目錄│ ├─tpl 系統模板目錄│ ├─tests 單元測試檔案目錄│ ├─vendor 第三方類庫目錄(Composer依賴庫)│ ├─base.php 基礎定義檔案│ ├─convention.php 架構慣例設定檔│ ├─helper.php 助手函數檔案│ ├─phpunit.xml phpunit設定檔│ └─start.php 架構入口檔案
router.php用於php內建webserver支援,可用於快速測試 切換到public目錄後,啟動命令:php -S localhost:8888 router.php 上面的目錄結構和名稱是可以改變的,這取決於你的入口檔案和配置參數。
命名規範
ThinkPHP5的命名規範如下:
目錄和檔案
- 目錄不強制規範,駝峰和小寫+底線模式均支援;
- 類庫、函數檔案統一以 .php為尾碼;
- 類的檔案名稱均以命名空間定義,並且命名空間的路徑和類庫檔案所在路徑一致;
- 類名和類檔案名稱保持一致,統一採用駝峰法命名(首字母大寫);
函數和類、屬性命名
- 類的命名採用駝峰法,並且首字母大寫,例如 User、 UserType,不需要添加尾碼,例如UserController應該直接命名為User;
- 函數的命名使用小寫字母和底線(小寫字母開頭)的方式,例如 get_client_ip;
- 方法的命名使用駝峰法,並且首字母小寫或者使用底線“_”,例如 getUserName, _parseType,通常底線開頭的方法屬於私人方法;
- 屬性的命名使用駝峰法,並且首字母小寫或者使用底線“_”,例如 tableName、 _instance,通常底線開頭的屬性屬於私人屬性;
- 以雙底線“__”打頭的函數或方法作為魔法方法,例如 __call和 __autoload;
常量和配置
- 常量以大寫字母和底線命名,例如 APP_DEBUG和 APP_MODE;
- 配置參數以小寫字母和底線命名,例如 url_route_on;
資料表和欄位
- 資料表和欄位採用小寫加底線方式命名,並注意欄位名不要以底線開頭,例如 think_user 表和 user_name欄位,類似 _username 這樣的資料表欄位可能會被過濾。
參與開發
註冊並登入 Github 帳號, fork 本項目並進行改動。
更多細節參閱CONTRIBUTING.md
著作權資訊
ThinkPHP遵循Apache2開源協議發布,並提供免費使用。
本項目包含的第三方源碼和二進位檔案之著作權資訊另行標註。
著作權Copyright © 2006-2016 by ThinkPHP ( http://thinkphp.cn)
All rights reserved。
ThinkPHP® 商標和著作權所有者為上海頂想資訊科技有限公司。
更多細節參閱LICENSE.txt