搜尋
首頁php教程PHP开发laravel框架之門面(facades)

laravel框架之門面(facades)

Nov 30, 2016 pm 03:50 PM
laravel

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 &#39;xpower&#39;; 
  } 
}

6.再然後需要到設定檔config/app.php中註冊門面類別名稱:

&#39;aliases&#39; => [ ...//其他门面类别名映射 &#39;XP&#39; => App\Facades\XP::class, ],

我們此時可以直接使用XP::activate來啟動xpower超能力

use AppFacadesXP 的引入。不然找不到。

 

分析:🎜🎜1.XP::activate先去容器中找這個XP的實例(已經在容器中註冊),回傳xpower字串🎜🎜2.xpower這個字串也已經綁定註冊到容器中,然後回傳Xpower服務實例🎜🎜3. ::activate這個其實會呼叫基底類別facade中的__callstatic方法,然後轉換為->show()這個方式的呼叫。 🎜🎜🎜🎜
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具