這篇文章主要介紹了yii2怎么配置,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
10年積累的成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有鹽都免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
在Yii中創(chuàng)建新對(duì)象或者初始化已經(jīng)存在的對(duì)象廣泛的使用配置,配置通常包含被創(chuàng)建對(duì)象的類名和一組將要賦值給對(duì)象的屬性的初始值,這里的屬性是Yii2的屬性。
還可以在對(duì)象的事件上綁定事件處理器,或者將行為附加到對(duì)象上。從而在定義了對(duì)象的初始值的同時(shí),充分規(guī)定對(duì)象的運(yùn)行時(shí)的動(dòng)態(tài)特性。
以下代碼中的配置被用來創(chuàng)建并初始化一個(gè)數(shù)據(jù)庫(kù)連接:
$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中最常用的用來創(chuàng)建對(duì)象的方法,其內(nèi)容是從DI Container中去取的對(duì)象。
這個(gè)方法方法接受一個(gè)配置數(shù)組并根據(jù)數(shù)組中指定的類名創(chuàng)建對(duì)象,對(duì)象實(shí)例化后,剩余的參數(shù)被用來初始化對(duì)象的屬性,事件和行為。
在Yii2.1中,配置數(shù)組中用來表示類名的鍵值由class變成了__class,但是配置的原理是不變的。
對(duì)于已存在的對(duì)象,可以使用 Yii::configure() 方法根據(jù)配置去初始化其屬性, 就像這樣:
Yii::configure($object, $config);
請(qǐng)注意,如果配置一個(gè)已存在的對(duì)象,那么配置數(shù)組中不應(yīng)該包含指定類名的 class 元素。
配置是Yii2的一個(gè)特色
在編程中,有個(gè)非常重要的概念叫“委托”,就是一個(gè)對(duì)象A可以依靠另一個(gè)對(duì)象B去完成特定的功能,典型的應(yīng)用就是策略模式了。
要實(shí)現(xiàn)“委托”,要有這么個(gè)流程:在對(duì)象A實(shí)例化時(shí)注入另一個(gè)對(duì)象B;A持有對(duì)象B;對(duì)象A委托對(duì)象B去完成特定的功能。
“注入”“持有”“委托”都是設(shè)計(jì)模式中的高頻詞匯,通過這些操作可以擴(kuò)展類的功能。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享yii2怎么配置內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!