方法注入
在应用程序一些地方Laravel不仅读取了构造签名,它还读取了方法签名并执行了注入依赖。
使用方法注入最常见的地方是控制器方法,如果你有一个依赖想要为控制器方法使用,你可以如示例11-13一样注入到方法中。
Example 11-13. Injecting dependencies into a controller method
使用makeWith()传递不可解析的构造参数
所有用于解析类实例的工具-app(),$container->make()等等。假设可以解析类的所有依赖项,而无需传入任何内容,但是,如果您的类在其构造函数中接受一个值,而不是容器可以为您解决的依赖项,该怎么办?请使用makeWith()方法。
这是一个不常见案例。 您将从容器中解析出来的大多数类应将依赖项注入其构造函数中。
服务提供者者的boot()方法也可以做同样的事,你也可以在容器上调动任意类的任意方法,用于进行方法注入,如示例11-14。
Example 11-14. Manually calling a class method using the container’s call() method
Last updated