對laravel容器的簡單理解
1. 依賴
IOC( inversion of controller )叫做控制反轉(zhuǎn)模式,也可以稱為(dependency injection ) 依賴注入模式。
2. 反射
反射它指在PHP運(yùn)行狀態(tài)中,擴(kuò)展分析PHP程序,導(dǎo)出或提取出關(guān)于類、方法、屬性、參數(shù)等的詳細(xì)信息,包括注釋。這種動(dòng)態(tài)獲取的信息以及動(dòng)態(tài)調(diào)用對象的方法的功能稱為反射API。反射是操縱面向?qū)ο蠓缎椭性P偷腁PI,其功能十分強(qiáng)大,可幫助我們構(gòu)建復(fù)雜,可擴(kuò)展的應(yīng)用。其用途如:自動(dòng)加載插件,自動(dòng)生成文檔,甚至可用來擴(kuò)充PHP語言
3綁定
容器并不需要有什么具體的指示去如何構(gòu)造這些實(shí)例,因?yàn)樗麄儠?huì)根據(jù) PHP 的反射進(jìn)行自動(dòng)的實(shí)例化。
在服務(wù)提供者內(nèi)部,你可以通過 $this->app 來訪問容器的實(shí)例。我們可以使用 bind 方法來注冊綁定,這需要傳遞類或接口名,然后跟上一個(gè) Closure 閉包函數(shù),閉包用來返回一個(gè)所綁定類的實(shí)例。