简介
服务提供者(Provider)是所有 Laravel 应用程序的引导中心。
你的应用程序以及 Laravel 的所有核心服务都是通过服务提供者进行引导。
在这里,我们说的「引导」其实是指注册,通常,这意味着注册服务,包括注册服务容器绑定、事件监听器、中间件甚至路由。
服务提供者是应用配置的中心。
config/app.php 文件中有一个 providers 数组。数组中的内容是应用所要加载的所有服务提供者。
当然,其中很多是延迟加载的,也就是说不是每次请求都会被加载,只有真的用到它们的时候才会加载。
通过本文档,你将会学习如何编写自己的服务提供者并在 Laravel 应用中注册它们。
创建服务提供者
所有的服务提供者都继承自 Illuminate\Support\ServiceProvider 类。
大部分服务提供者都包含两个方法: register 和 boot 。在 register 方法中,你唯一要做的事情就是绑定服务到服务容器,不要尝试在该方法中注册事件监听器,路由或者任何其它功能。
通过 Artisan 命令 make:provider 即可生成一个新的提供者:
php artisan make:provider RiakServiceProvider
服务提供者默认会存放在 app/Providers 目录中,如刚刚创建的 app/Providers/RiakServiceProvider.php 。
register() 方法
在 register 方法中只绑定服务到服务容器,而不要做其他事情,否则