laravel中ioc控制反轉(zhuǎn)是什么

laravel中,IOC控制反轉(zhuǎn)是面向?qū)ο缶幊讨械囊环N設(shè)計(jì)原則,可以用來減低計(jì)算機(jī)代碼之間的耦合度,就是一個(gè)類把自己的的控制權(quán)交給另外一個(gè)對(duì)象,類間的依賴由這個(gè)對(duì)象去解決。

laravel中ioc控制反轉(zhuǎn)是什么

本文操作環(huán)境:Windows10系統(tǒng)、Laravel6版、Dell G3電腦。

laravel中ioc控制反轉(zhuǎn)是什么

控制反轉(zhuǎn)(Inversion?of?Control,縮寫為IoC),是面向?qū)ο缶幊讨械囊环N設(shè)計(jì)原則,可以用來減低計(jì)算機(jī)代碼之間的耦合度。

其中最常見的方式叫做依賴注入(Dependency?Injection,簡(jiǎn)稱DI),還有一種方式叫“依賴查找”(Dependency?Lookup)。通過控制反轉(zhuǎn),對(duì)象在被創(chuàng)建的時(shí)候,由一個(gè)調(diào)控系統(tǒng)內(nèi)所有對(duì)象的外界實(shí)體,將其所依賴的對(duì)象的引用傳遞給它。

簡(jiǎn)單說來,就是一個(gè)類把自己的的控制權(quán)交給另外一個(gè)對(duì)象,類間的依賴由這個(gè)對(duì)象去解決。依賴注入屬于依賴的顯示申明,而依賴查找則是通過查找來解決依賴。

控制反轉(zhuǎn)(IoC):?不需要自己內(nèi)容修改,改成由外部傳遞。從依賴內(nèi)部改為依賴外部。

控制反轉(zhuǎn)(IOC):Inversion Of Control,’控制’是對(duì)程序執(zhí)行流程的控制,’反轉(zhuǎn)’是沒使用框架前,程序員自己控制整個(gè)程序執(zhí)行,使用框架后,控制權(quán)從程序員反轉(zhuǎn)到了框架。

注入一個(gè)類:

App::bind('foo',?function($app) { ????return?new?FooBar; });

這個(gè)例子的意思是創(chuàng)建一個(gè)別名為?foo?的類,使用時(shí)實(shí)際實(shí)例化的是?FooBar。

使用這個(gè)類的方法是:

$value?=?App::make(‘foo’);

$value?實(shí)際上是?FooBar?對(duì)象。

如果希望使用單例模式來實(shí)例化類,那么使用:

App::singleton('foo',?function() { ????return?new?FooBar; });

這樣的話每次實(shí)例化后的都是同一個(gè)對(duì)象。

【相關(guān)推薦:laravel視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊14 分享