Laravel:如何为本地化创建正确的路由组?

2024-03-11

现在,我编写示例路线,无需对我的 Laravel 项目进行本地化分组:

Route::get('/{lang?}', function($lang=null){
    App::setlocale($lang);
    return view('welcome');
});

如何在 Laravel 5.6 中使用前缀或参数而不是前缀或域路由为多种语言正确创建路由组?并且可以在前缀和域路由示例中创建本地化:

http://website.com/en
http://en.website.com

好吧,这是我最好的尝试:

将所有路线定义保存在例如web.php

然后您可以在您的应用程序中使用多域路由RouteServiceProvider:

Route::group([ 
    'domain' => '{lang}.example.com'
    'middleware' => LangMiddleware::class,
    'namespace' => $this->namespace // I guess?
], function ($router) {
     require base_path('routes/web.php');
});

此外,使用相同的路由,您还可以执行前缀路由组:

Route::group([
        'middleware' => LangMiddleware::class,
        'namespace' => $this->namespace,
        'prefix' => {lang} //Note: This works but is undocumented so may change
], function ($router) {
    require base_path('routes/web.php');
});

这一切都依赖于此LangMiddleware中间件类可以是这样的:

class LangMiddleware {
     public function handle($request, $next) {
          if ($request->route("lang")) {
               // also check if language is supported?
              App::setlocale($request->route("lang"));
          }
          return $next($request);          
     }         
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel:如何为本地化创建正确的路由组? 的相关文章

  • 如何在 Laravel 5.4 中播种数据透视表?

    我正在关注 Jeffrey Way 撰写的名为 Laracasts 中的增量 API 的教程 Laravel 4 faker 类播种和 Laravel 5 4 之间有不同的编码 我仍然遵循教程 Seeders Reloaded 中的相同代码
  • 仅针对 Laravel 中的生产添加自定义 500 错误页面

    我想要一个自定义 500 错误页面 这可以简单地通过创建一个视图来完成errors 500 blade php 这对于生产模式来说很好 但在调试模式下我不再获得默认的异常 调试页面 看起来是灰色的 并显示 哎呀出了问题 因此 我的问题是 如
  • 我应该在哪里编写结合两个模型的控制器逻辑

    想象一下我有 PostController 和 CommentController 当然我有 Post 模型和 Comment 模型 所以现在我收到请求对Post和Comment模型进行一些修改 也许这个修改逻辑不仅结合了两个模型 而且结合
  • Laravel 中的 PATCH Ajax 请求

    是否可以向 Laravel 发出 Ajax PATCH 请求 或者我是否仅限于 POST Laravel 在输入隐藏字段中使用 PATCH 但是 我没有使用表单元素 只是在单击时 通过 Ajax 请求 应该部分更新记录的按钮 这条路线会是什
  • 如何在 Laravel 中动态更改 .env 文件中的变量?

    我想创建一个 Laravel Web 应用程序 允许管理员用户使用 Web 后端系统更改 env 文件中的某些变量 例如数据库凭据 但如何保存更改呢 没有内置的方法可以做到这一点 如果您确实想更改其中的内容 env文件 您必须结合 PHP
  • Laravel 4 中检索特定日期范围内数据记录的查询

    我有一张桌子有record date以及对应的amount字段 我试图检索按日期月份分组的总金额 我是 Laravel 新手 在普通 php 中我会使用以下 mysql 查询 gt SELECT MONTH record date YEAR
  • 更改laravel视图页面中的日期格式[重复]

    这个问题在这里已经有答案了 我想更改从数据库获取的日期格式 现在我得到了 2016 10 01 user gt from date 我想更改 laravel 5 3 中的格式 d m y user gt from date gt forma
  • Laravel 5 文件下载无效

    使用时Response download下载文件时 我注意到图像和其他二进制文件传输不正确 改变Content Typeheader 没有改变任何东西 也没有明确禁止缓存或强制内容的长度 造成这个问题的原因可能是什么 这个问题的解决方案可以
  • 如何在通过 Laravel Eloquent 方法连接的元素上使用 orderby

    问题是查询无法找到应该与 Laravel Eloquent 中的方法WITH 连接的特定方法 特定方法 特定模型 特定模型 特定方法等 有什么想法如何解决吗 我的代码 SpecificModel
  • Laravel Mongo 多对多关系在哪里不起作用

    我有两个以多对多关系相互关联的 mongo 文档 一个称为律师 另一个称为律师 我的律师模型有 public function cases return this gt belongsToMany App LawCase 我的 LawCas
  • 特定文件夹的 .htaccess 例外

    这是我的 htaccess 代码 位于根文件夹中
  • Laravel 集合到数组

    我有两个模型 Post and Comment 许多评论属于一个帖子 我正在尝试以数组形式访问与帖子相关的所有评论 我有以下内容 它提供了一个集合 comments collection post gt comments gt get 我该
  • 基于“属于”关系的雄辩的 where 条件

    假设我有以下模型 class Movie extends Eloquent public function director return this gt belongsTo Director 现在我想使用基于directors 表中的列的
  • updateExistingPivot() 不起作用

    我正在尝试像这样更新数据透视表 public function updatePermission id permissionId permissionValue Input get value user User find id perms
  • Laravel 集成测试:如何断言一个 URL 已被调用但另一个 URL 没有

    我想测试一个向某个 URL 发出请求的控制器 例如 http example com api say hello 但它不会向另一个 URL 发出请求 例如 http example com api say bye bye 我想测试的控制器功
  • .htaccess 异常导致主目录出现问题

    这是我的目录结构 localhost or livehost app bootstrap public vendor code demo 这是我的 htaccess
  • 限制自己超载外部 API 的速率

    我发现了很多信息和脚本示例 展示了如何对 API 用户进行速率限制 但我无法找到任何示例来说明在施加这些限制时如何对您自己的 API 请求进行速率限制 我总是用诸如以下的代码来限制我的脚本sleep or usleep命令 但感觉这是一种低
  • Laravel,从 JSON 中删除 null Eloquent 对象属性

    有没有一种优雅的方法从 Eloquent 对象中删除 NULL 值 我的对象嵌套有关系 这个特定的调用可能会长达数千行 所以我尝试这样做的主要原因是为用户节省带宽 但服务器性能也是一个考虑因素 My code data locations
  • 这个条带请求是什么?为什么它会多次触发?

    对于使用 stripe 的 Laravel 应用程序 此请求https r stripe com 0被解雇多次 如下所示 我刷新主页后 这些请求立即被触发 问题是我最近得到了一个429 too many requests我的实时服务器出现错
  • 分页在服务器端好还是前端好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在构建 Laravel Vue 应用程序 我想知道在后端使用分页还是在前端使用分页更好 我认为最好在每页发送尽可能少的数据的请求 但我想听听

随机推荐