遺失得 Laravel 設計模式-門面模式

aruisi發表於2019-09-02

隨著laravel框架得不斷髮展,很多設計模式再現在得這種快速開發得趨勢下逐漸退出了人們的視線,到現在因該也只有老的laraverer才對這個模式還有一些印象吧

首先建立一個門面類
App\Facades\Test
然後再建立一個
App\Providers\TestProviders 類
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use App\Facades\Test;
use App\Tools\TestClass;

class TestProvider extends ServiceProvider
{
    /**
     * Bootstrap services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }

    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->bind('test',function(){
            return new TestClass();
        });
    }
}
最後釋出到服務提供者
App\Config\app.php
'providers' => [
              App\Providers\TestProvider::class,
]
取別名(便於訪問呼叫)
'aliases' => [
      'Test'=>App\Facades\Test::class,
]

相關文章