在Yii中創建新物件或初始化已經存在的物件廣泛的使用配置,配置通常包含被創建物件的類別名稱和一組將要賦值給物件的屬性的初始值,這裡的屬性是Yii2的屬性。
也可以在物件的事件上綁定事件處理器,或將行為附加到物件上。 從而在定義了物件的初始值的同時,充分規定物件的運行時的動態特性。 (推薦學習:yii框架)
以下程式碼中的設定被用來建立並初始化一個資料庫連線:
$config = [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=127.0.0.1;dbname=demo', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ]; $db = Yii::createObject($config);
Yii::createObject()是Yii2中最常用的用來建立物件的方法,其內容是從DI Container中去取的物件。
這個方法方法接受一個配置數組並根據數組中指定的類別名稱創建對象,對象實例化後,剩餘的參數被用來初始化對象的屬性,事件和行為。
在Yii2.1中,配置陣列中用來表示類別名稱的鍵值由class變成了__class,但是配置的原理是不變的。
對於已存在的對象,可以使用Yii::configure() 方法根據配置去初始化其屬性, 就像這樣:
Yii::configure($object, $config);
請注意,如果配置一個已存在的對象,那麼配置數組中不應該包含指定類別名稱的class 元素。
配置是Yii2的一個特色
在程式設計中,有個非常重要的概念叫“委託”,就是一個物件A可以依靠另一個物件B去完成特定的功能,典型的應用就是策略模式了。
要實現“委託”,要有這麼個流程:在物件A實例化時注入另一個物件B;A持有物件B;物件A委託物件B去完成特定的功能。
「注入」「持有」「委託」都是設計模式中的高頻詞彙,透過這些操作可以擴展類別的功能。
以上是yii2 如何配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!