爲了實現JavaScript和Java背景,我發現Laravel(或PHP)中的依賴注入極其混亂。Laravel中的依賴注入
例如(Laravel 5.1),在Middleware/Authenticate構造函數中需要一個Guard對象。我有搜索代碼庫和類Authenticate從未實例化。
那麼警衛從哪裏來? SKY。
謝謝,SK。
爲了實現JavaScript和Java背景,我發現Laravel(或PHP)中的依賴注入極其混亂。Laravel中的依賴注入
例如(Laravel 5.1),在Middleware/Authenticate構造函數中需要一個Guard對象。我有搜索代碼庫和類Authenticate從未實例化。
那麼警衛從哪裏來? SKY。
謝謝,SK。
看那laravel文檔:
依賴注入是一個奇特的短語,基本上是指這樣的:class依賴關係通過構造「注入」類或在某些情況下,「二傳手」的方法。 http://laravel.com/docs/5.1/container
您可以在您的代碼中實例化Guard或從某個地方獲取Guard的實例,並將其傳遞給Middleware/Authenticate構造函數。
編輯: Guard在某些時候自動注入到Middleware/Authenticate中的某些內容在laravel框架代碼中。你最好看一看Laravel中Dependency injection的不同例子,其中所有代碼都可見。
大部分Laravels使用反射工作:http://php.net/manual/en/intro.reflection.php和php的神奇方法:http://php.net/manual/en/language.oop5。 magic.php。您不一定會找到直接實例化的對象。 –
@craig_h謝謝,有用的信息 –