服务提供者

1.新建控制器

php artisan make:controller HelloController
<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;

class HelloController extends Controller
{
    public function index()
    {
        echo '服务调用';
    }
}

2.新建服务提供者

php artisan make:provider HelloServiceProvider
<?php

namespace AppProviders;

use AppHttpControllersHelloController;
use IlluminateSupportServiceProvider;

class HelloServiceProvider extends ServiceProvider
{
    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        //注册服务提供者,单例模式
        $this->app->singleton('hello', function () {
            return new HelloController();
        });

        //或者
        // $this->app->bind('hello', HelloController::class);
    }

    /**
     * Bootstrap services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }
}

3.在configapp.php的providers数组中注册服务提供者

'providers' => [
       ...  
        AppProvidersHelloServiceProvider::class,
    ],

4.新建路由

Route::get("helloservice",function(){
    app("hello")->index();
});

5.页面调用

php artisan make:provider HellServiceProvider

原文地址:https://www.cnblogs.com/clubs/p/15187406.html