您好,登錄后才能下訂單哦!
這篇文章主要介紹yii1和yii2有什么區別,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Yii是一個高性能的PHP5的web應用程序開發框架。通過一個簡單的命令行工具 yiic 可以快速創建一個web應用程序的代碼框架,開發者可以在生成的代碼框架基礎上添加業務邏輯,以快速完成應用程序的開發。
Yii2.0 版框架是完全重寫的,在 1.1 和 2.0 兩個版本之間存在相當多差異。
那么yii1和yii2的區別有哪些?
Yii 2.0 需要 PHP 5.4 或更高版本,該版本相對于 Yii 1.1 所需求的 PHP 5.2 而言有巨大的改進。
1、應用程序實例直接使用全局命名變量來訪問:$app,而無須調用app()。
2、Yii2在視圖層的一個顯著改變是引入了視圖類,這樣在MVC模式實現上更為完整。相應的,相關展現層附屬類就由新的視圖類來接手管理,比如theme:Yii::app()->theme->baseUrl 應該更新為 Yii::$app->view->theme->baseUrl,或者$this->theme->baseUrl。
3、Yii2引入了資源包的概念,資源引用的方式變化較大。
有兩種方式引入資源,一種是通過assets目錄下的AppAsset類,還有就是通過類似Yii1種的注冊方法。
Yii::app()->getClientScript()方法不再可用,比如想要在頁面中動態注冊JS腳本文件,變動如下:
Yii::app()->getClientScript()->registerScriptFile('...') 修改為 Yii::$app->view->registerJsFile('...'),
或者$this->registerJsFile('...')。
4、使用數據庫
比如查詢知道user_id的一條記錄記錄
yii1:
User::model()->find('user_id=:user_id',[':user_id'=>$user_id]);
yii2:
User::find()->where('user_id=:user_id',[':user_id'=>$user_id])->one();
查詢多條記錄:
yii1:
User::model()->findAll('status=:status',[':staus'=>$status]);
yii2:
User::find()->where('status=:status',[':staus'=>$status])->all();
另外yii2 還提供了 asArray() 方法,直接查詢結果為數組:
User::find()->where('status=:status',[':staus'=>$status])->asArray()->all();
如果是初學者的話,建議直接學習yii2。
以上是“yii1和yii2有什么區別”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。