出於好奇,我想知道爲什麼Http/Kernel-> sendRequestThroughRouter($ request)設置請求的實例,並立即擦除後。當Container :: clearResolvedInstance應該使用
protected function sendRequestThroughRouter($request)
{
$this->app->instance('request', $request);
Facade::clearResolvedInstance('request');
...
這樣做的目的是什麼?
對不起,你能解釋一下嗎?你提到「未解決的版本已被刪除」,奇怪的是該方法被稱爲「clearResolvedInstance」。請嘗試詳細說明您的答案。謝謝, –
我不是親... https://laravel.com/docs/5.4/container檢查這個鏈接特別是綁定實例的一部分,其中明確指出,一個現有的對象被傳遞給容器,這是我猜的分辨率...所以它正在做的是獲得原始的HTTP請求,並將其綁定到應用程序容器,以便下一個可以使用說$ request-> has('some_thing')... –
1.-您將請求對象綁定到容器。我明白了。那麼Facade :: clearResolvedInstance('request')究竟做了什麼?哪個實例清除了? –