🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
门面可以在 `config/app.php` 这个文件夹下面的 `'aliases'` 这个数组中看到,我们看到很多,随便进一个类里面看都是返回一个字符串,这个类都extends Facade那么我们来看下 Facade这个类 我们经常在路由中写 `Route::get ` 那么这个方法是怎么实现呢? 我们来到Facade这个类中看这个方法 `__callStatic` ,首先这个方法有个 `$instance = static::getFacadeRoot();` 我们来看下getFacadeRoot这个就是解析Facade,比如Mailer这个,在 `$instance = static::getFacadeRoot();` 这个意思就是 `app('mailer')` 这个会触发服务提供者。 ```php public static function __callStatic($method, $args) { $instance = static::getFacadeRoot(); if (! $instance) { throw new RuntimeException('A facade root has not been set.'); } return $instance->$method(...$args); } ``` ```php public static function getFacadeRoot() { return static::resolveFacadeInstance(static::getFacadeAccessor()); } ```