Laravel框架-服务提供者

Laravel框架-服务提供者

它是什么:
  1. 它是一个继承抽象类Illuminate\Support\ServiceProvider的一个类
主要作用:
  1. 以优雅的方式将服务绑定到服务容器上。所谓的优雅,说白了就是将绑定代码写到服务提供者的register()方法中
创建示例:
  1. 首先是创建服务提供者,可以使用命令php artisan make:provider xxServiceProvider 来实现。如,我想创建一个Cache 服务提供者,那就执行命令php artisan make:provider CacheServiceProvider来创建
  2. 其次在服务提供者中添加 boot()register()方法,并且在 register()方法里面书写绑定代码。假设需要绑定的服务是实现了CacheServiceInterface 接口的RedisCacheService 服务,代码如下:
    public function boot(){}
    public function register()
    {
        //三种绑定方式
        $this->app->bind(CacheServiceInterface::class, RedisCacheService::class); //当服务均为某接口的实现时,力推这种方式
        $this->app->bind(RedisCacheService::class, RedisCacheService::class);
        $this->app->instance('redisCacheService', new RedisCacheService());
    }
  1. 最后去config\app.php文件的providers数组中添加服务提供者
'providers' => [
    // 其他服务提供者 ...
    
    App\Providers\CacheServiceProvider::class,
],
使用示例:
  1. 查看‘Laravel框架-服务容器’文章的服务解析
  2. 以依赖注入的形式到类,或者方法中
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值