Laravel 5.4 如何向 IoC 容器中新增自己定義的類

zfArthur發表於2017-07-05

原文地址:
http://www.cf2z.club/blog/how-does-laravel...

  1. 假設我們要建一個交易類,app/Trade/Sale.php
    <?php
    namespace App\Trade;
    class Sale
    {
    public function exchange()
    {
        dd('交易成功啦!');
    }
    }
  2. 在Providers目錄下建立一個服務提供者 TradeServiceProvider
    php artisan make:provider TradeServiceProvider
  3. 然後在 TradeServiceProvider.php 的register方法中將我們的類進行繫結
    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        //
        $this->app->bind('trade',function(){
            return new Sale();
        });
    }
  4. 接下來要去 config/app.php 下的providers陣列中增加一行,
    App\Providers\TradeServiceProvider::class,
  5. 然後在我們的路由中寫一個測試
    Route::get('/',function (){
    $trade = app('trade');
    dd($trade->exchange());
    }
    輸出結果:交易成功啦!
  6. 至此我們就將我們自己的類新增到IoC 容器中了
本作品採用《CC 協議》,轉載必須註明作者和本文連結
zf

相關文章