請注意,Yii 2.0 引進了許多本章並沒有涉及的新功能。強烈建議你通讀整部權威指南來了解所有新功能。這樣有可能會發現一些以前你要自己開發的功能,而現在已經被包含在核心程式碼中了。 (建議學習:yii教學)
安裝
Yii 2.0 完全擁抱 Composer,它是事實上的 PHP 依賴管理工具。核心框架以及擴充的安裝都透過 Composer 來處理。如果你想創建新擴展, 或者把你已有的 Yii 1.1 的擴展改寫成兼容 2.0 的版本, 你可以參考 創建擴展 章節。
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)與物件(BaseObject )
Yii 2.0 把1.1 中的CComponent 類別拆分成了兩個類別:yii\base\Object 和yii\base\Component。 yii\base\Object 類別是一個輕量級的基底類,你可以透過 getters 和 setters 定義物件的屬性。
Component 類別繼承自 yii\base\Object, 同時進一步支援 事件 和 行為。
如果你不需要用到事件或行為, 應該考慮使用 yii\base\Object 類別作為基底類別。這種類別通常用來表示基本的資料結構。
以上是yii1.0和2.0的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!