正如这句名言所说,编程中最难的两个问题是并行性和命名变量。我试图理解 Silex 中的所有 DI 装置,并遇到了这个类(http://silex.sensiolabs.org/doc/providers/service_controller.html)。我想我明白它扩展了服务解析器,因此您可以将控制器注册为服务,但我无法理解名称,尤其是第一个"服务"部分。为什么"服务"在这里使用两次?
这里有两件事在起作用。
- 服务控制器(不妨命名为__YOUR_NAME_HERE__Controller)
- 服务提供商(如此处所述 https://laravel.com/docs/5.1/providers)
它基本上是服务控制器的依赖注入。它为您提供了一个注入了所有依赖项的服务控制器。
不妨称为ServiceControllerFactory。
命名是编程中最难的部分。