Laravel 8 注冊(cè)方法

2021-07-16 17:33 更新

如上所述,在 register 方法中,你只需要將服務(wù)綁定到服務(wù)容器中。而不要嘗試在 register 方法中注冊(cè)任何監(jiān)聽(tīng)器,路由,或者其他任何功能。否則,你可能會(huì)意外地使用到尚未加載的服務(wù)提供者提供的服務(wù)。

讓我們來(lái)看一個(gè)基礎(chǔ)的服務(wù)提供者。在任何服務(wù)提供者方法中,你總是通過(guò) $app 屬性來(lái)訪問(wèn)服務(wù)容器:

<?php

namespace App\Providers;

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

class RiakServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->singleton(Connection::class, function ($app) {
            return new Connection(config('riak'));
        });
    }
} 

這個(gè)服務(wù)提供者只是定義了一個(gè) register 方法,并且使用這個(gè)方法在服務(wù)容器中定義了一個(gè) Riak\Connection 接口。如果你不理解服務(wù)容器的工作原理,請(qǐng)查看其文檔。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)