您好,登錄后才能下訂單哦!
這篇文章主要介紹yii1.1和yii2.0有哪些區別,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
區別:1、Yii2.0完全擁抱Composer,yii1.1沒有;2、Yii2.0幾乎每一個核心類都引入了命名空間,且1.1版類名前綴 “C” 已經不再使用;3、Yii2.0把1.1中的CComponent類拆分成了兩個類。
2.0 版框架是完全重寫的,在 1.1 和 2.0 兩個版本之間存在相當多差異。因此從 1.1 版升級并不像小版本間的跨越那么簡單,通過本指南你將會了解兩個版本間主要的不同之處。
安裝
Yii 2.0 完全擁抱 Composer,它是事實上的 PHP 依賴管理工具。核心框架以及擴展的安裝都通過 Composer 來處理。
PHP 需求
Yii 2.0 需要 PHP 5.4 或更高版本,該版本相對于 Yii 1.1 所需求的 PHP 5.2 而言有巨大的改進。因此在語言層面上有很多的值得注意的不同之處。下面是 PHP 層的主要變化匯總:
命名空間
匿名函數
數組短語法 [...元素...] 用于取代 array(...元素...)
視圖文件中的短格式 echo 標簽 <?=,自 PHP 5.4 起總會被識別并且合法,無論 short_open_tag 的設置是什么,可以安全使用。
SPL 類和接口
延遲靜態綁定
日期和時間
Traits
intl Yii 2.0 使用 PHP 擴展 intl 來支持國際化的相關功能。
命名空間
Yii 2.0 里最明顯的改動就數命名空間的使用了。幾乎每一個核心類都引入了命名空間,比如 yii\web\Request。1.1 版類名前綴 “C” 已經不再使用。
當前的命名方案與目錄結構相吻合。例如,yii\web\Request 就表明對應的類文件是 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]],同時進一步支持 事件 和 行為。
事件(Event)
在 Yii 1 中,通常通過定義 on 開頭的方法(例如 onBeforeSave)來創建事件。而在 Yii 2 中,你可以使用任意的事件名了。同時通過調用 [[yii\base\Component::trigger()|trigger()]] 方法來觸發相關事件:
$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有哪些區別”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。