Introduction
為什麼選擇Yii2作為PHP Framework。
特色
Application Components
Components事先定義,透過Magic Method用到才new出來,效能與結構兼具考量。
概念如同CodeIgniter 3的Library(不做Alias),在單一Request cycle中為一次性啟動物件(Singleton)。
Asset Manager
Assets支援物件導向管理,並且支援application內動態生成(適合用在Composer assets)。特色包含繼承、載入順序、重複載入防止。
保留Controller作為預設路由
如同CodeIgniter,預設使用Controller資料夾結構映射Route,但也支援自訂Route Map。
Yii2 Url Manager的Rule還可以支援URL生成比對,對應的Route Value在Url::to()
宣告是可以自動生成Route Key。例如,'test' => 'site/action'
的rule在URL::to
設定site/action
實際會生成test
。
Pure Template Engine
PHP本身就是個樣板引擎!
Yii2使用原生PHP達到框架View Layout,相對於Laravel額外多一層打造的Blade引擎或CodeIgniter沒架構的純粹View引入法,Yii2扮演著中庸最適解決方案。
原理是使用規範的嵌入點打造每個Layout,藉由Controller決定選用的Layout套入Content View。
...補齊中...