为什么在某些环境中找不到此 Laravel 门面?

Why is this Laravel facade not found in some environments?

我调用了 Laravel 门面,但失败并出现 'class not found' 错误。奇怪的是它在我的开发环境中工作,但在我的暂存环境中不工作。考虑到这两种环境都是标准 Laravel 环境,这尤其奇怪。 (Dev是宅基地机,Staging由Forge部署,由Forge管理)

开发或暂存都没有类似的问题。

我已经使用 resolve() 帮助程序解决了这个问题,但我仍然需要理解为什么通常的 facade 用法不起作用。

这是暂存失败但在开发中有效的代码:

$referrer = \Illuminate\Support\Facades\Url::previous();

下面是适用于两种环境的代码:

$referrer = resolve('url')->previous();

该代码位于无法访问 $this->app 的帮助文件中。我在那里有几十个帮手,他们都工作得很好,包括许多使用外墙的人。

以下是我做过的一些检查:

可能你的环境区分大小写,试试:

$referrer = \Illuminate\Support\Facades\URL::previous();