ThinkPHP版本的區(qū)別總結(jié)

5.0版本 vs 3.2版本的用戶給出了一些5.0的主要區(qū)別进胯。

URL和路由

5.0的URL訪問(wèn)不再支持普通URL模式,路由也不支持正則路由定義,而是全部改為規(guī)則路由配合變量規(guī)則(正則定義)的方式:

主要改進(jìn)如下:

增加路由變量規(guī)則分冈;

增加組合變量支持圾另;

增加資源路由;

增加路由分組雕沉;

增加閉包定義支持集乔;

增加MISS路由定義;

支持URL路由規(guī)則反解析坡椒;

請(qǐng)求對(duì)象和響應(yīng)對(duì)象

5.0新增了請(qǐng)求對(duì)象Request和響應(yīng)對(duì)象Response扰路,Request統(tǒng)一處理請(qǐng)求和獲取請(qǐng)求信息,Response對(duì)象負(fù)責(zé)輸出客戶端或者瀏覽器響應(yīng)肠牲。

模塊和控制器

控制器的命名空間有所調(diào)整幼衰,并且可以無(wú)需繼承任何的控制器類靴跛。

應(yīng)用命名空間統(tǒng)一為app(可定義)而不是模塊名缀雳;

控制器的類名默認(rèn)不帶Controller后綴,可以配置開啟use_controller_suffix參數(shù)啟用控制器類后綴梢睛;

控制器操作方法采用return方式返回?cái)?shù)據(jù) 而非直接輸出肥印;

廢除原來(lái)的操作前后置方法;

增加beforeActionList屬性定義前置操作绝葡;

支持任意層次的控制器定義和訪問(wèn)深碱;

URL訪問(wèn)支持自動(dòng)定位控制器;

數(shù)據(jù)庫(kù)

5.0的數(shù)據(jù)庫(kù)查詢功能增強(qiáng)藏畅,原先需要通過(guò)模型才能使用的鏈?zhǔn)讲樵兛梢灾苯油ㄟ^(guò)Db類調(diào)用敷硅,原來(lái)的M函數(shù)調(diào)用可以改用db函數(shù),例如:

3.2版本

M(‘User’)->where([‘name’=>’thinkphp’])->find();

5.0版本

db(‘User’)->where(‘name’,’thinkphp’)->find();

主要改進(jìn)如下:

支持鏈?zhǔn)讲樵儾僮鳎?/p>

數(shù)據(jù)查詢支持返回對(duì)象愉阎、數(shù)組和PDOStatement對(duì)象绞蹦;

數(shù)據(jù)集查詢支持返回?cái)?shù)組和Collection對(duì)象;

增加查詢構(gòu)造器榜旦,查詢語(yǔ)法改變幽七;

支持閉包查詢;

支持分塊查詢溅呢;

支持視圖查詢澡屡;

增加SQL監(jiān)聽事件;

模型

5.0的模型變化是最大的咐旧,基本上模型是完全面向?qū)ο蟮母拍钍火模P(guān)聯(lián)模型,模型類的后綴不再帶Model铣墨,直接由命名空間區(qū)分室埋,原來(lái)的D函數(shù)調(diào)用改為model函數(shù),并且必須創(chuàng)建對(duì)應(yīng)的模型類,例如:

3.2版本

D(‘User’)->where([‘name’=>’thinkphp’])->find();

5.0版本

model(‘User’)->where(‘name’,’thinkphp’)->find();

主要改進(jìn)包括:

重構(gòu)關(guān)聯(lián)模型词顾;

支持聚合模型八秃;

廢除視圖模型(改為數(shù)據(jù)庫(kù)的視圖查詢方法);

模型的擴(kuò)展采用Trait機(jī)制肉盹;

增加獲取器和修改器昔驱;

增加時(shí)間戳自動(dòng)寫入;

增加類型字段轉(zhuǎn)換上忍;

數(shù)組訪問(wèn)支持骤肛;

JSON序列化支持;

自動(dòng)驗(yàn)證和自動(dòng)完成

5.0的數(shù)據(jù)自動(dòng)驗(yàn)證和自動(dòng)完成和3.2版本區(qū)別較大窍蓝,5.0的數(shù)據(jù)驗(yàn)證采用驗(yàn)證器定義并且通過(guò)think\Validate類進(jìn)行統(tǒng)一的驗(yàn)證腋颠。自動(dòng)完成則通過(guò)在模型里面定義修改器來(lái)完成。

異常

5.0對(duì)錯(cuò)誤零容忍吓笙,默認(rèn)情況下會(huì)對(duì)任何級(jí)別的錯(cuò)誤拋出異常(但可以在應(yīng)用公共文件中設(shè)置錯(cuò)誤級(jí)別)淑玫,并且重新設(shè)計(jì)了異常頁(yè)面,展示了詳盡的錯(cuò)誤信息面睛,便于調(diào)試絮蒿。

調(diào)試和日志

5.0的頁(yè)面Trace強(qiáng)化,支持瀏覽器控制臺(tái)查看Trace信息叁鉴。

5.0的日志驅(qū)動(dòng)增加Socket方式土涝,采用SocketLog支持遠(yuǎn)程調(diào)試。

常量

5.0版本廢棄了原來(lái)的大部分常量定義幌墓,僅僅保留了框架的路徑常量定義但壮,其余的常量可以使用App類或者Request類的相關(guān)屬性或者方法來(lái)完成,或者自己重新定義需要的常量常侣。

廢除的常量包括:

REQUEST_METHOD IS_GET IS_POST IS_PUT IS_DELETE IS_AJAX __EXT__ COMMON_MODULE MODULE_NAME CONTROLLER_NAME ACTION_NAME APP_NAMESPACE APP_DEBUG MODULE_PATH

函數(shù)

5.0版本核心框架不依賴任何自定義函數(shù)蜡饵,但仍然封裝了一些常用功能到助手函數(shù),你可以隨意重新定義或者增加助手函數(shù)袭祟。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末验残,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子巾乳,更是在濱河造成了極大的恐慌您没,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胆绊,死亡現(xiàn)場(chǎng)離奇詭異氨鹏,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)压状,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門仆抵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)跟继,“玉大人,你說(shuō)我怎么就攤上這事镣丑√蛱牵” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵莺匠,是天一觀的道長(zhǎng)金吗。 經(jīng)常有香客問(wèn)我,道長(zhǎng)趣竣,這世上最難降的妖魔是什么摇庙? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮遥缕,結(jié)果婚禮上卫袒,老公的妹妹穿的比我還像新娘。我一直安慰自己单匣,他們只是感情好夕凝,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著封孙,像睡著了一般迹冤。 火紅的嫁衣襯著肌膚如雪讽营。 梳的紋絲不亂的頭發(fā)上虎忌,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音橱鹏,去河邊找鬼膜蠢。 笑死,一個(gè)胖子當(dāng)著我的面吹牛莉兰,可吹牛的內(nèi)容都是我干的挑围。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼糖荒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼杉辙!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起捶朵,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蜘矢,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后综看,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體品腹,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年红碑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了舞吭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖羡鸥,靈堂內(nèi)的尸體忽然破棺而出蔑穴,到底是詐尸還是另有隱情,我是刑警寧澤惧浴,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布澎剥,位于F島的核電站,受9級(jí)特大地震影響赶舆,放射性物質(zhì)發(fā)生泄漏哑姚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一芜茵、第九天 我趴在偏房一處隱蔽的房頂上張望叙量。 院中可真熱鬧,春花似錦九串、人聲如沸绞佩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)品山。三九已至,卻和暖如春烤低,著一層夾襖步出監(jiān)牢的瞬間肘交,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工扑馁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留涯呻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓腻要,卻偏偏與公主長(zhǎng)得像复罐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子雄家,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容