我正在開發一個小型Web應用程序,它將擁有一個私人消息系統。當用戶登錄時,他的收到或寫入的消息將顯示在下拉菜單中的工具欄區域中。沒有新的:-)Laravel 5.1>在視圖中使用@inject來顯示內容
當用戶瀏覽頁面時,大部分時間都會顯示工具欄。因此,不是將收件箱實現注入每個可能通過routes.php調用的控制器中,而是考慮使用新刀片功能@inject。
這應該是這樣的(抽象)
- 工具欄視圖通過注射InterfaceMethod(基於構造器注入)@Inject
- ControllerMethod電話通話中ControllerMethod
- 服務容器提供實現
- ImplementationMethod返回收件箱
但我不確定這是否是一個很好的設計模式,因爲我通常對依賴注入比較陌生。我會欣賞一些泰坦。
就像我所描述的DI在控制器(基於構造函數的注入)內的第二步中發生,而不是直接使用@inject。此外它通過合同鬆散耦合。所以測試應該不成問題。主要是我不知道哪種設計模式可能是實現我所描述的那種設計的好選擇:讓一個類將用戶收件箱輸出到每個請求,而無需將其注入到每個控制器中。 – Kristo