ThinkPHP V5.0 正式版發佈

ThinkPHP5.0版本是一個顛覆和重構版本,官方團隊歷時十月,傾注了大量的時間和精力,採用全新的架構思想,引入了更多的PHP新特性,優化了核心,減小了依賴,實現了真正的惰性加載,支持composer,並針對API開發作了大量的優化,包括路由、日誌、異常、模型、數據庫、模板引擎和驗證等模塊都已經重構,不適合原有3.2項目的升級,請慎重考慮商業項目升級,但絕對是新項目的首選(不管是WEB仍是API開發)。php

ThinkPHP V5.0——爲API開發而設計的高性能框架



[ 特性 ]

主要特性包括:
--------------------------------------------------------------
規範:遵循PSR-二、PSR-4規範,Composer及單元測試支持;
嚴謹:異常嚴謹的錯誤檢測和安全機制,詳細的日誌信息,爲你的開發保駕護航;
靈活:減小核心依賴,擴展更靈活、方便,支持命令行指令擴展;
API友好:出色的性能和REST支持、遠程調試,更好的支持API開發;
高效:惰性加載,及路由、配置和自動加載的緩存機制;
ORM:重構的數據庫、模型及關聯,MongoDb支持;
--------------------------------------------------------------

支持ThinkPHP5的用戶請到 Github 給咱們一個`star` ^_^

相對於RC4版本,更新以下:
html

[ 請求和路由 ]

Request對象支持動態綁定屬性
定義了路由規則的URL原地址禁止訪問
改進路由規則存儲結構
路由分組功能加強,支持嵌套和虛擬分組
路由URL高效反解
改進Request對象param方法獲取優先級
路由增長name方法設置和獲取路由標識
增長MISS和AUTO路由規則
Route類增長auto方法 支持註冊一個自動解析URL的路由
路由規則支持模型綁定
路由變量統一使用param方法獲取
路由規則標識功能和自動標識
增長生成路由緩存指令 optimize:route
Request對象增長route方法單獨獲取路由變量
Request對象的param get post put request delete server cookie env方法的第一個參數傳入false 則表示獲取原始數據 不進行過濾
改進自動路由標識生成 支持不一樣的路由規則 指向同一個路由標識,改進Url自動生成對路由標識的支持
改進Request類 filter屬性的初始化
改進Request類的isAjax和isPjax方法
Request類增長token方法
路由配置文件支持多個 使用 route_config_file 配置參數配置
域名綁定支持https檢測
改進域名綁定 支持同時綁定模塊和其餘 支持綁定到數組定義的路由規則,取消域名綁定到分組
路由規則增長PATCH請求類型支持
增長route_complete_match配置參數設置全局路由規則定義是否採用完整匹配 能夠由路由規則的參數complete_match 進行覆蓋
改進路由的 後綴參數識別 優先於系統的僞靜態後綴參數
Url類增長root方法用於指定當前root地址(不含域名)
改進Url生成對可選參數的支持
git

[ 數據庫 ]

查詢條件自動參數綁定
改進分頁方法支持參數綁定
Query類的cache方法增長緩存標籤參數
Query類的update和delete方法支持調用cache方法 會自動清除指定key的緩存 配合查詢方法的cache方法一塊兒使用 
改進Query類的延遲寫入方法
Query類的column和value方法支持fetchsql
改進日期查詢方法
改進存儲過程方法exec的支持
改進Connection類的getLastInsID方法獲取
記錄數據庫的鏈接日誌(鏈接時間和DSN)
改進Query類的select方法的返回結果集判斷 
Connection類增長getNumRows方法
數據庫事務方法取消返回值
改進Query類的chunk方法對主鍵的獲取
改進當數據庫驅動類型使用完整命名空間的時候 Query類的builder方法的問題
github

[ 模型 ]

增長軟刪除功能
關聯模型和預載入改進
關聯預載入查詢閉包支持更多的連貫操做
完善savell方法支持更新和驗證
關聯定義統一返回Relation類
Model類的has和hasWhere方法對join類型的支持
Model類的data方法 批量賦值數據的時候 清空原始數據
Model類的get方法第三個參數傳入true的時候會自動更新緩存
Model類增長只讀字段支持
Model類增長useGlobalScope方法設置是否啓用全局查詢範圍
Model類的base方法改成靜態定義 全局屢次調用有效
Model類支持設定主鍵、字段信息和字段類型,不依賴自動獲取,提升性能
Model類的data方法 支持修改器
改進Relation類對非數字類型主鍵的支持
改進Relation類的一對多刪除
修正Relation類的一對多關聯預載入查詢
web

[ 日誌和緩存 ]

支持日誌類型分離存儲
日誌容許設置記錄級別
增長緩存標籤功能
緩存類增長pull方法用於獲取並刪除
cache助手函數增長tag參數
簡化日誌信息,隱藏數據庫密碼
增長cache/session redis驅動的庫選擇邏輯;
memcached驅動的配置參數支持option參數
調試模式下面 日誌記錄增長頁面的header和param參數記錄
memcached緩存驅動增長鏈接帳號密碼參數
緩存支持設置complex類型 支持配置多種緩存並用store切換
緩存類增長tag方法 用於緩存標籤設置 clear方法支持清除某個緩存標籤的數據
File類型日誌驅動支持設置單獨文件記錄不一樣的日誌級別
改進文件緩存和日誌的存儲文件名命名規範
緩存類增長inc和dec方法 針對數值型數據提供自增和自減操做
Cache類增長has方法 get方法支持默認值
redis

[ 其它 ]

視圖類支持設置模板引擎參數
增長表單令牌生成和驗證
增長中文驗證規則
增長image和文件相關驗證規則
重定向Response對象支持with方法隱含傳參
改進Session類自動初始化
session類增長pull方法用於獲取並刪除
增長Env類用於獲取環境變量
Request類get/post/put等更改賦值後param方法依然有效
改進Jump跳轉地址支持Url::build 解析
優化Hook類
應用調試模式和頁面trace支持環境變量設置
config助手函數支持 config('?name') 用法
支持使用BIND_MODULE常量的方式綁定模塊
入口文件自動綁定模塊功能
改進驗證異常類的錯誤信息和模板輸出,支持批量驗證的錯誤信息拋出
完善console 增長output一些經常使用的方法
增長token助手函數 用於在頁面快速顯示令牌
增長halt方法用於變量調試並中斷輸出
改進Validate類的number驗證規則 和 integer區分開
optimize:autoload增長對extend擴展目錄的掃描
改進Validate類的boolean驗證規則 支持表單數據
改進cookie助手函數支持 判斷是否存在某個cookie值
改進abort助手函數 支持拋出HttpResponseException異常
改進File類增長對上傳錯誤的處理
改進File類move方法的返回對象增長上傳表單信息,增長獲取文件散列值的方法
改進File類的move方法的返回對象改成返回File對象實例
增長clear和optimize:config 指令
改進File類和Validate類的圖像文件類型驗證
控制器的操做方法支持注入Request以外的對象實例
Request類 param(true) 支持獲取帶文件的數據
input助手函數第一個參數增長默認值
Validate類增長image驗證規則 並改進max min length支持多種數據類型
json輸出時數據編碼失敗後拋出異常
sql

[ 調整 ]

廢除路由映射(靜態路由)定義
取消url_deny_suffix配置 改由路由的deny_ext參數設置
模型save方法返回值改成影響的記錄數,取消getId參數
Request對象controller方法返回駝峯控制器名
控制器前置操做方法不存在則拋出異常
Loader類db方法增長name標識參數
db助手函數增長第三個參數用於指定鏈接標識
Sqlsrv驅動默認不對數據表字段進行小寫轉換
移除sae驅動 改成擴展包
Oracle驅動移出核心包
Firebird驅動移出核心包
取消別名定義文件alias.php
配置參數讀取的時候取消環境變量判斷 須要讀取環境變量的時候使用Env類
環境變量定義文件更改成 .env 由原來的PHP數組改成ini格式定義(支持數組方式)
狀態配置和擴展配置的加載順序調整 便於狀態配置文件中能夠更改擴展配置的參數
取消域名綁定到路由分組功能
控制器類的success和error方法url參數支持傳入空字符串,則不作任何處理
控制器的error success result redirect方法均不須要使用return
建立目錄的權限修改成0644
thinkphp

[ 文檔 ]

5.0徹底開發手冊5.0快速入門數據庫

[ 下載地址 ]

官網:http://www.thinkphp.cn/down/845.html
GitHub: https://github.com/top-think/think.git (主要維護倉庫 官方核心團隊)
Composer: composer create-project topthink/think tp5 --prefer-dist
json

[ 擴展包 ]

下面是針對ThinkPHP5的擴展包 須要使用Composer安裝
應用單元測試:https://github.com/top-think/think-testing.git
驗證碼:https://github.com/top-think/think-captcha.git
隊列:https://github.com/top-think/think-queue.git
MongoDb支持:https://github.com/top-think/think-mongo.git
angular模板引擎:https://github.com/top-think/think-angular.git
助手庫:https://github.com/top-think/think-helper.git
數據庫遷移工具:https://github.com/top-think/think-migration.git

相關文章
相關標籤/搜索