這篇文章主要介紹yii1.1和yii2.0有哪些區(qū)別,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
區(qū)別:1、Yii2.0完全擁抱Composer,yii1.1沒有;2、Yii2.0幾乎每一個核心類都引入了命名空間,且1.1版類名前綴 “C” 已經(jīng)不再使用;3、Yii2.0把1.1中的CComponent類拆分成了兩個類。
2.0 版框架是完全重寫的,在 1.1 和 2.0 兩個版本之間存在相當(dāng)多差異。因此從 1.1 版升級并不像小版本間的跨越那么簡單,通過本指南你將會了解兩個版本間主要的不同之處。
安裝
Yii 2.0 完全擁抱 Composer,它是事實(shí)上的 PHP 依賴管理工具。核心框架以及擴(kuò)展的安裝都通過 Composer 來處理。
PHP 需求
Yii 2.0 需要 PHP 5.4 或更高版本,該版本相對于 Yii 1.1 所需求的 PHP 5.2 而言有巨大的改進(jìn)。因此在語言層面上有很多的值得注意的不同之處。下面是 PHP 層的主要變化匯總:
命名空間
匿名函數(shù)
數(shù)組短語法 [...元素...] 用于取代 array(...元素...)
視圖文件中的短格式 echo 標(biāo)簽 <?=,自 PHP 5.4 起總會被識別并且合法,無論 short_open_tag 的設(shè)置是什么,可以安全使用。
SPL 類和接口
延遲靜態(tài)綁定
日期和時間
Traits
intl Yii 2.0 使用 PHP 擴(kuò)展 intl 來支持國際化的相關(guān)功能。
命名空間
Yii 2.0 里最明顯的改動就數(shù)命名空間的使用了。幾乎每一個核心類都引入了命名空間,比如 yii\web\Request。1.1 版類名前綴 “C” 已經(jīng)不再使用。
當(dāng)前的命名方案與目錄結(jié)構(gòu)相吻合。例如,yii\web\Request 就表明對應(yīng)的類文件是 Yii 框架文件夾下的 web/Request.php 文件。
有了 Yii 的類自動加載器,你可以直接使用全部核心類而不需要顯式包含具體文件。
組件(Component)與對象(Object)
Yii 2.0 把 1.1 中的 CComponent 類拆分成了兩個類:[[yii\base\Object]] 和 [[yii\base\Component]]。[[yii\base\Object|Object]] 類是一個輕量級的基類,你可以通過 getters 和 setters 來定義對象的屬性。
[[yii\base\Component|Component]] 類繼承自 [[yii\base\Object|Object]],同時進(jìn)一步支持 事件 和 行為。
事件(Event)
在 Yii 1 中,通常通過定義 on 開頭的方法(例如 onBeforeSave)來創(chuàng)建事件。而在 Yii 2 中,你可以使用任意的事件名了。同時通過調(diào)用 [[yii\base\Component::trigger()|trigger()]] 方法來觸發(fā)相關(guān)事件:
$event = new \yii\base\Event; $component->trigger($eventName, $event);
要給事件附加一個事件事件處理器,需要使用 [[yii\base\Component::on()|on()]] 方法:
$component->on($eventName, $handler); // 解除事件處理器,使用 off 方法: // $component->off($eventName, $handler);
以上是“yii1.1和yii2.0有哪些區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞標(biāo)題:yii1.1和yii2.0有哪些區(qū)別-創(chuàng)新互聯(lián)
分享URL:http://www.chinadenli.net/article38/dgiepp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、網(wǎng)站內(nèi)鏈、全網(wǎng)營銷推廣、標(biāo)簽優(yōu)化、關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)