首頁  >  文章  >  php框架  >  laravel中ioc控制反轉是什麼

laravel中ioc控制反轉是什麼

WBOY
WBOY原創
2022-03-15 11:22:082850瀏覽

在laravel中,IOC控制反轉是物件導向程式設計中的一種設計原則,可以用來減少電腦程式碼之間的耦合度,就是一個類別把自己的控制權交給另外一個對象,類別間的依賴由這個對象去解決。

laravel中ioc控制反轉是什麼

本文操作環境:Windows10系統、Laravel6版、Dell G3電腦。

laravel中ioc控制反轉是什麼

控制反轉(Inversion of Control,縮寫為IoC),是物件導向程式設計中的一種設計原則,可以用來減少電腦程式碼之間的耦合度。

其中最常見的方式叫做依賴注入(Dependency Injection,簡稱DI),還有一種方式叫做「依賴查找」(Dependency Lookup)。透過控制反轉,物件在被創建的時候,由一個調控系統內所有物件的外界實體,將其所依賴的物件的引用傳遞給它。

簡單說來,就是一個類別把自己的控制權交給另外一個對象,類別間的依賴就由這個對象去解決。依賴注入屬於依賴的顯示申明,而依賴查找則是透過查找來解決依賴。

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

控制反轉(IOC):Inversion Of Control,'控制'是對程式執行流程的控制,'反轉'是沒使用框架前,程式設計師自己控制整個程式執行,使用框架後,控制權從程式設計師反轉到了框架。

注入一個類別:

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

這個範例的意思是建立一個別名為 foo 的類,而使用時實際實例化的是 FooBar。

使用這個類別的方法是:

$value = App::make('foo');

$value 其實是 FooBar 物件。

如果希望使用單例模式來實例化類,那麼使用:

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

這樣的話每次實例化後的都是同一個物件。

【相關推薦:laravel影片教學

以上是laravel中ioc控制反轉是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn