使用 PHP-DI 依賴注入自動載入類

來源:互聯網
上載者:User
使用過 laravel 的同學應該對依賴注入,自動載入這些特性相當的瞭解,比如你自訂的類,傳入 Interface 來執行個體化類對象,只需要在 AppServiceProvider 中添加即可,那麼,在 laravel 之外,你可以使用 PHP-DI來完成這些工作。

依賴注入

依賴注入是個比較簡單的概念,看下面這個例子體會.

user = $user;    }}

那麼, UserController就依賴於 User 這個類,可能你需要這來執行個體化

new UserController(new User)

在 laravel 中,你的代碼是這樣的(joking)

new UserController

容器

首先,使用 PHP-DI的容器來管理我們的類。這裡有一個簡單的例子, PHP-ID-example,這裡還有一個簡單的實現 http://rrylee.github.io/2015/09/23/laravel-container/#section-3

Use in Project

理解了依賴注入,容器等一些概念之後,就可以在項目中去使用了,官方給出了 Symfony2, Slim3等架構的詳細的教程。可以自行參考。

配合 Slim 自身的 Container 使用起來真的很棒。

補充

在 laravel 裡面,你可以看到這種寫法 User::class,這是 php5.5 開始提供的一個魔術關鍵字,用於擷取類的全名(返回字串),例子

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.