W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
若你的提供者僅僅用于綁定注冊到服務(wù)容器,你可以選擇延緩其注冊,直到真正需要其中注冊的綁定才加載。延緩像這樣的提供者加載可增進應(yīng)用程序的性能,因為這樣就不用每個請求都從文件系統(tǒng)中將其加載。
要延緩提供者加載,將 defer 性質(zhì)設(shè)為 true,并定義一個 provides 方法。 provides 方法應(yīng)返回提供者所注冊的服務(wù)容器綁定。
<?php namespace App\Providers;
use Riak\Connection;
use Illuminate\Support\ServiceProvider;
class RiakServiceProvider extends ServiceProvider {
/**
* 指定是否延緩提供者加載。
*
* @var bool
*/
protected $defer = true;
/**
* 注冊服務(wù)提供者。
*
* @return void
*/
public function register()
{
$this->app->singleton('Riak\Contracts\Connection', function($app)
{
return new Connection($app['config']['riak']);
});
}
/**
* 取得提供者所提供的服務(wù)。
*
* @return array
*/
public function provides()
{
return ['Riak\Contracts\Connection'];
}
}
Laravel 編譯并保存所有由延緩服務(wù)提供者所提供的服務(wù)清單,以及其服務(wù)提供者的類名稱。只有在當(dāng)你嘗試解析其中的服務(wù)時, Laravel 才會加載服務(wù)提供者。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: