<?php namespace App\Providers; use Riak\Connection; use Illuminate\Support\ServiceProvider; class RiakServiceProvider extends ServiceProvider { /** * 在容器中注册绑定 * * @return void */ public function register() { $this->app->singleton(Connection::class, function ($app) { return new ...
App\Providers\AppServiceProvider::class, ], 延迟提供者 若你的提供者仅在服务容器中注册绑定,你可以选择延缓其注册,直到真正需要其中已注册的绑定,延迟提供者加载可提高应用程序的性能。 要延迟提供者加载,可将defer属性设置为true,并定义一个provides方法。provides方法会返回提供者所注册的服务容器绑定: ...
一个典型的例子是与 Blade 视图相关的配置。如果你想创建 Blade 指令,你可以将该代码添加到任何服务提供者的 boot() 方法中,包括默认的AppServiceProvider,但开发人员通常会创建一个单独的 ViewServiceProvider。你可以使用以下命令生成它:php artisan make:provider ViewServiceProvider...
* Register the service provider. * * @return void */publicfunctionregister(){$this->app->singleton('cache',function($app){returnnewCacheManager($app);});$this->app->singleton('cache.store',function($app){return$app['cache']->driver();});$this->app->singleton('cache.psr6',function(...
use Illuminate\Support\ServiceProvider; class ProfilerServiceProvider extends ServiceProvider { protected $defer = true; # 定义一个register方法,这个方法执行后把Profiler绑定到容器中 public function register() { $this->app->singleton('profiler', function ($app) { ...
这个命令会在 app/Providers 目录下创建 RiskServiceProvider.php 文件,打开文件内容如下: <?phpnamespaceApp\Providers;useIlluminate\Support\ServiceProvider;classRiskServiceProviderextendsServiceProvider {/** * Bootstrap the application services.引导启动应用服务。
该命令会在app/Providers目录下生成一个TestServiceProvider.php文件,我们编辑该文件内容如下: 代码语言:javascript 复制 <?php namespace App\Providers;use Illuminate\Support\ServiceProvider;use App\Services\TestService;classTestServiceProviderextendsServiceProvider{/** ...
}publicfunctionprovides(){return['service1','service2','service3']; } } 对于服务提供者类可以通过artisan命令创建: artisanmake:provider yourServiceProvider 创建后的文件会存放在appProviders目录下 现在我们的服务已经在yourServiceProvider这个类里面的register()里面进行绑定了。虽然完成了服务提供者的创建...
在任何服务提供者方法中,你总是通过 $app 属性来访问服务容器:<?php namespace App\Providers; use Riak\Connection; use Illuminate\Support\ServiceProvider; class RiakServiceProvider extends ServiceProvider { /** * 在服务容器里注册 * * @return void */ public function register() { $this->app->...
我们在上述用了 “接入到Laravel” 这样的字眼,本质上就是把这些信息告诉Kernel。如何告诉呢?使用Laravel提供的ServiceProvider,默认ServiceProvider要提供两个方法register和boot。 register就是把实例化对象的方式注册到容器中。 boot就是做一些把配置文件推到项目根目录下的config目录下面,加载配置到Kernel或加载路由等动...