【发布时间】:2020-01-18 02:16:19
【问题描述】:
我更多来自原生 PHP 背景,但我开始接触 Laravel(和 Lumen)。我正在处理一个国际化项目并将 URL 结构放在一起。
我是 Apple 示例的粉丝,即 apple.com/mac 在 Apple 的美国网站上为您提供 Mac 产品。 apple.com/uk/mac 为您提供 Apple 英国网站上的 Mac 产品(即apple.com/{locale/?}route)
Laravel 是否可以复制这种行为:
- 第一个参数是我们已知的语言环境之一
- 如果是,请设置语言环境并继续
- 如果不匹配,参数是否匹配我们注册的路由之一并继续进行
我已经看到一些类似问题的答案说,将语言环境作为可选参数 1 是不可能的,因为这样“路由器将不知道该做什么”,但有真正的-生活中的例子,Apple 是我给出的(以及在我从事的一些普通项目中),这是完成的。
请给点建议?
【问题讨论】:
-
是的,你可以手动完成,也可以使用这个 Laravel 库 github.com/mcamara/laravel-localization
-
这是可能的。只需确保
apple.com/mac路由位于apple.com/{locale/?}route之前,因此它具有优先权。在处理本地化版本的控制器中,检查是否设置了区域设置并应用您的逻辑。希望能回答你的问题
标签: php laravel laravel-routing