Facades 為應用程式的服務容器中可用的類別提供了一個「靜態」介面。
Laravel 本身附帶許多的 facades,甚至你可能在不知情的狀況下已經在使用他們!
xpower的靜態介面(門面,facades)
前提條件1:我們有一個已經綁定到服務容器的類別(xpower)
前提條件2:我們已經在服務提供者中註冊這個類別(xpower)
前提條件2:我們已經在服務提供者中註冊這個類別(xpower)
前提條件2:我們已經在服務提供者中註冊這個類別(xpower)
前提條件2:我們已經在服務提供者中註冊這個類別(xpower)
前提條件2:我們已經在服務提供者中註冊這個類別(xpower)
前提。類別(服務容器中regisrer下的singleton方法)
5.接下來創建xpower的facade,都是繼承facade基底類別。必須實作getFacadeAccessor方法。回傳了一個字串,這個字串其實就是服務提供者註冊綁定單例(singleton方法)的一個名稱。這個名稱可以隨便寫,我們這裡是xpower
<?php namespace App\Facades; use Illuminate\Support\Facades\Facade; class XP extends Facade { protected static function getFacadeAccessor() { return 'xpower'; } }
6.再然後需要到設定檔config/app.php中註冊門面類別名稱:
'aliases' => [ ...//其他门面类别名映射 'XP' => App\Facades\XP::class, ],
我們此時可以直接使用XP::activate來啟動xpower超能力
use AppFacadesXP 的引入。不然找不到。