如果您查看 Laravel 的配置,您会看到已为符号设置了别名Response
'aliases' => array(
'Response' => 'Illuminate\Support\Facades\Response',
实际类上的命名空间,以及 Laravel 使用别名来全局访问 laravel 外观对象的一般模式使得这看起来像是Response
一个外观。但是,如果您查看Illuminate\Support\Facades\Response
该类 的实际定义
#File: vendor/laravel/framework/src/Illuminate/Support/Facades/Response.php
namespace Illuminate\Support\Facades;
//...
class Response {
我们可以再次看到,该类存在于Illuminate\Support\Facades
命名空间中,但它没有扩展Illuminate\Support\Facades\Facade
该类,也没有实现 getFacadeAccessor
方法,这意味着,令人困惑的是,它并不是真正的外观。
有人知道为什么吗?即是否有一个令人信服的框架原因,为什么 Facade 命名空间中的这个类没有被实现为一个实际的 Laravel 外观?