提供者
简介
借鉴于Laravel
思想,使用Provider
来解决模块的依赖和解耦。
可以看到Firmeve
中的模块都是使用Provider
来注册和启动的。
在后续的开发的,我们推荐使用Provider
来解决依赖和参数解耦。
创建服务提供者
注册方法
Register
方法作为提供者注册初始化模块实例,所有的提供者在系统加载时都会优先使用注册方法,来完成需要的实例创建。
Register
方法就是为了模块能够正常运行而提供的基础实例
启动方法
当所有的Provider
加载并注册完成后,会自动调用Boot
方法来唤醒当前模块。Boot
方法就是模块启动的入口
基础示例
所有Provider
都可以使用kernel.BaseProvider
嵌入,kernel.BaseProvider
主要是基于Container
进行包装的快捷调用。
挂载提供者
通常我们会在main
函数中初始化时挂载我们需要的提供者
如果某个Provider
需要依赖于另一个Provider
才可以启动,那么我们可在服务内部进行注册,如:
Last updated
Was this helpful?