Lumen開發:如何向 IoC 容器中添加本身定義的類

版權聲明:本文爲博主原創文章,未經博主容許不得轉載。php

先在起始文件bootstrap/app.php加上$app->register(App\Providers\User\UserServiceProvider::class);bootstrap

/*
| --------------------------------------------------------------------------
|登記服務提供商
| --------------------------------------------------------------------------
|
|這裏咱們將登記全部的應用服務提供商
|用於綁定到容器服務。服務提供商
|徹底可選的,因此你不須要註釋掉這行。
|
*/

// $app->register(App\Providers\AuthServiceProvider::class);
// $app->register(App\Providers\EventServiceProvider::class);
$app->register(Dingo\Api\Provider\LumenServiceProvider::class);
$app->register(Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);

$app->register(App\Providers\User\UserServiceProvider::class);

app/Providers/User/UserServiceProvider.phpapp

<?php

namespace App\Providers\User;

use Illuminate\Support\ServiceProvider;

class UserServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.(引導應用程序服務。)
     *
     * @return void
     */
    public function boot()
    {
        //
    }

    /**
     * Register the application services.(註冊應用程序服務。)
     *
     * @return void
     */
    public function register()
    {
        //
        $this->app->bind('user',function(){
            return new UserFactory();
        });
    }
}

app/Providers/User/UserFactory.phpide

<?php
namespace App\Providers\User;

class UserFactory
{
    public function Test(){
        return 'test';
    }
    
}

而後用下面的方法調用this

app('user')->test();

輸出test,則表示成功了!spa

Lumen技術交流羣:310493206blog

版權聲明:本文爲博主原創文章,未經博主容許不得轉載。io

相關文章
相關標籤/搜索