美文网首页
laravel中服务容器

laravel中服务容器

作者: dark68 | 来源:发表于2021-05-04 08:21 被阅读0次

    1 什么是服务容器

    Laravel 服务容器是一个用于管理类依赖以及实现依赖注入的强有力工具。依赖注入这个名词表面看起来花哨,实质上是指:通过构造函数,或者某些情况下通过「setter」方法将类依赖「注入」到类中。

    2 服务绑定

    想要把服务放到容器中去,需要使用服务绑定。服务绑定主要有以下几种方式:

    1.简单绑定 - bind 方法
    2.绑定一个单例 - singleton 方法
    3.绑定实例 - instance 方法
    4.绑定接口到实现 - 绑定的标识是一个契约
    语法:$this->app->绑定方法(标识, 绑定对象);


    AppServiceProvider中绑定

    3 服务解析

    服务被放入容器中后,需要在需要的时候使用。想要使用服务可以先获取服务的对象,而获取服务的对象的过程可以称之为解析。服务对象的解析主要有以下几种方式:

    1.make 方法:
    make 方法从容器中解析出类实例。 make 方法接收你想要解析的类或接口的名字。

    2.resolve 辅助函数:
    你的代码处于无法访问 $app 变量的位置,则可用全局辅助函数 resolve 来解析。

    语法:$this->app->解析方法(标识);

    //解析并调用test()
    Route::any('pro', function(){
        dump(app()->make('xj')->test());
        //dump(app('xj')->test());
        //dump(resolve('xj')->test());
    });
    

    相关文章

      网友评论

          本文标题:laravel中服务容器

          本文链接:https://www.haomeiwen.com/subject/hchxdltx.html