laravel - Laravel:如何在 404 的情况下获取 url 前缀
问题描述
在RouteServiceProvider::mapWebRoutes
我添加某个前缀(在这种特定情况下为“语言环境”):
protected function mapWebRoutes(string $prefix = ''):void {
Route::prefix($prefix)
->middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
}
稍后在一些刀片模板中,我想获得这个前缀:
$currentRoute = Route::current();
$prefix = ($currentRoute) ? $currentRoute->getPrefix() : '';
这一切都很好,直到我转到一些不存在的页面并获得 404(如https://www.somedomain.com/nl/some-non-existing-page
)。前缀已经正确确定(因为mapWebRoutes
已经执行),但Route::current()
现在是空的,所以我不能调用getPrefix()
它。有没有办法仍然从 Laravel 获取前缀?符合以下要求的东西Route::prefix()
是最好的。
当然,我可以将前缀存储在我自己的某个全局变量中,以防万一我们遇到 404 但我宁愿从 Laravel 获取前缀,因为它应该知道那个时候的值。
解决方案
推荐阅读
- python - 使用 virtualenv / virtualenvwrapper 在特定目录中创建 virtualenv
- python - 如何移动存储在列表中的数组行
- python - 卡在 Python 中的嵌套 for 循环上
- awk - 使用 AWK 获取整个记录信息
- python - PyFlink 有 Kinesis 连接器吗?
- python - ValueError: s 必须是标量,或者与 seaborn 可视化中的 x 和 y 大小相同
- javascript - Gulp-filter 的工作很奇怪而且错误
- sql-server - 带有 Oracle Connection Attunity 的 SSIS 包:无法打开 ORACLE 注册表项
- sql - RDBMS(SQL)存储带有变量标签/额外列属性的时间序列?
- c++ - C++中如何为数组分配内存