1

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 ファサードとして実装されていない理由は、説得力のあるフレームワークの理由ですか?

4

0 に答える 0