美文网首页
54. 服务提供器 延迟提供器

54. 服务提供器 延迟提供器

作者: 独步天堂 | 来源:发表于2017-10-05 22:45 被阅读9次
  • 如果你的提供器仅在服务容器中注册绑定,就可以选择推迟其注册,直到当它真正需要注册绑定。

  • 推迟加载这种提供器会提高应用程序的性能,因为它不会在每次请求时都从文件系统中加载。

  • Laravel 编译并保存延迟服务提供器提供的所有服务的列表,以及其服务提供器类的名称。因此,只有当你在尝试解析其中一项服务时,Laravel 才会加载服务提供器。

  • 要延迟提供器的加载,请将 defer 属性设置为 true ,并定义 provides 方法。provides 方法应该返回由提供器注册的服务容器绑定:

<?php

namespace App\Providers;

use Riak\Connection;
use Illuminate\Support\ServiceProvider;

class RiakServiceProvider extends ServiceProvider
{
    /**
     * 是否延时加载提供器。
     *
     * @var bool
     */
    protected $defer = true;

    /**
     * 注册服务提供器。
     *
     * @return void
     */
    public function register()
    {
        $this->app->singleton(Connection::class, function ($app) {
            return new Connection($app['config']['riak']);
        });
    }

    /**
     * 获取提供器提供的服务。
     *
     * @return array
     */
    public function provides()
    {
        return [Connection::class];
    }

}

相关文章

  • 54. 服务提供器 延迟提供器

    如果你的提供器仅在服务容器中注册绑定,就可以选择推迟其注册,直到当它真正需要注册绑定。 推迟加载这种提供器会提高应...

  • 53. 服务提供器 注册提供器

    所有服务提供器都在 config/app.php 配置文件中注册。该文件中有一个 providers 数组,用于存...

  • java面试宝典 redis篇 高可用和持久化

    高可用 哨兵模式 基于主从模式(一主多从),主服务器提供写服务,从服务器同步主服务器,从服务器可提供读服务,哨兵(...

  • 20200229云服务器及Linux基础

    云服务器 云服务器 Elastic Compute Service(ECS)是云服务器提供商提供的一种基础云计算服...

  • 第2章.架构上云

    2.1 传统服务器提供商向云的转变 2.1.1 不给力的传统物理服务器提供商 旧平台使用的传统服务器提供商,在老平...

  • 2019-07-20

    服务器防护是什么?为什么需要防护? 大家在买服务器的时候,经常听人家说服务器提不提供防护,提供多少防护,这个服务器...

  • 49. 服务提供器

    最重要的内核引导操作之一是加载应用程序的服务提供器。 应用程序的所有服务提供器都在 config/app.php ...

  • --2提供器入门补充2

    演示服务注入服务 模块声明提供器

  • 一、Web服务器

    Web服务器 是可以向发出文档的浏览器提供文档的程序 提供网上的信息浏览服务 常用的Web服务器 Microsof...

  • 50. 编写服务提供器

    所有服务提供器都会继承 Illuminate\Support\ServiceProvider 类。 大多数服务提供...

网友评论

      本文标题:54. 服务提供器 延迟提供器

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