原來,Laravel實例化引擎蓋下的類!在this網站上,這個傢伙讓你更加了解Laravel的核心,用它來創建一個新的外觀。順便說一下,他解釋了山雀是如何工作的!
它很簡單,actualy:
1 - 創建從Laravel的Facade
類擴展與像一個單一的呼叫CLASSE:
<?php namespace Name\Space;
use Illuminate\Support\Facades\Facade;
class MyClass extends Facade {
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor() { return 'myclass'; }
}
...這讓Laravel尋找$app['myclass']
。因此,ServiceProvider
將綁定myclass
到MyClass
(根據Laravel的約定)。
2 - 對此,當然,您必須創建一個服務提供商。 服務提供商將負責返回namespace
,在這種情況下爲Name\Space
,您可能希望將'變成外牆'。
3 - 您必須在app/config/app.php
的providers
陣列中註冊您的服務提供商。
現在,如果你注意更多,你會意識到Laravel所做的只是導入一個命名空間,並將它理解爲一個類,同樣也是。在引擎蓋下,它會調用一個實例,但對於用戶(程序員)來說,它看起來像一個靜態調用。
我希望我已經清楚了!看看我給你的鏈接,並且玩得開心! :D
好問題!我也不太瞭解它,但它似乎與命名空間有關。 –