Laravel5.1入門その9 はじめてのサービスプロバイダ
サービスプロバイダのスケルトンをartisan経由で作る。
$ php artisan make:provider FugaServiceProvider Provider created successfully.
app/Providers/FugaServiceProvider.php
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class FugaServiceProvider extends ServiceProvider { /** * Bootstrap the application services. * * @return void */ public function boot() { // } /** * Register the application services. * * @return void */ public function register() { // } }
register()の中で、IoCコンテナに返したいものを登録する。
昨日と似た感じで素朴な連想配列を返してみた。
<?php public function register() { $this->app->bind('fugafuga', function() { return ['foo' => 'bar']; }); }
コンフィグにこのサービスプロバイダを使うように設定する。
config/app.php
<?php 'providers' => [ .. App\Providers\FugaServiceProvider::class, ];
rails console的なartisan tinkerを使って確認してみる。
$ php artisan tinker Psy Shell v0.4.4 (PHP 5.6.6 — cli) by Justin Hileman >>> $app = app(); => <Illuminate\Foundation\Application #000000007a6ed5620000000122f7ecac> { >>> $app->make('fugafuga') => [ "foo" => "bar" ]
とれました。