如何在 Lumen Blade 模板中获取 URL Facade?

Howto get URL Facade in Lumen Blade Template?

在我激活 Facade 的 Lumen 应用程序中($app->withFacades() in app's bootstrap),我无法在 Blase 模板中使用 URL class。

{{ URL::previous() }}

抛出 PHP 致命错误:Class 'URL' 在 xxxx/storage/framework/views/8e6123 中未找到 ...

表单取消按钮需要它。

我错过了什么? 谢谢

答案:对于 Lumen,在 Blade 模板中使用 app('url')Illuminate\Support\Facades\URL 是不够的,因为 class Laravel\Lumen\Routing\UrlGenerator 非常简单,只有 full()current()route()to() 方法。例如。要获得前一个(referer)url,我们必须使用长方法:app('request')->headers->get('referer') 或使用 JavaScript 重定向回

URL Facade 默认没有设置别名。您要么必须通过将其添加到 bootstrap/app.php:

来手动执行此操作
class_alias('Illuminate\Support\Facades\URL', 'URL');

或者您可以使用 app('url'):

{{ app('url')->previous() }}