Laravel 5.4 如何向 IoC 容器中添加自己定义的类

原文地址:here

一. 假设我们要建一个交易类,app/Trade/Sale.php

<?php
namespace App\Trade;
class Sale
{
    public function exchange()
    {
        dd('交易成功啦!');
    }
}

二. 在Providers目录下创建一个服务提供者 TradeServiceProvider

php artisan make:provider TradeServiceProvider

三. 然后在 TradeServiceProvider.php 的register方法中将我们的类进行绑定

/**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        //
        $this->app->bind('trade',function(){
            return new Sale();
        });
    }

四. 接下来要去 config/app.php 下的providers数组中增加一行,

    App\Providers\TradeServiceProvider::class,

五. 然后在我们的路由中写一个测试

Route::get('/',function (){
$trade = app('trade');
    dd($trade->exchange());
}
输出结果:交易成功啦!

六. 至此我们就将我们自己的类添加到IoC 容器中了

    原文作者:Arthur
    原文地址: https://segmentfault.com/a/1190000010790456
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞