【问题标题】:Lumen API locale for each request by db language code userdb 语言代码用户对每个请求的 Lumen API 语言环境
【发布时间】:2017-08-24 10:36:03
【问题描述】:
我正在构建一个 API,每个用户都将语言代码存储在用户数据库中。
用户数据库:
| id | name | language_code |
| 1 | Jason | 'en' |
我想从一开始就知道这个用户的语言代码是“en”。是否有一种从一开始就自动声明它的方法,这样我就不必检查每个函数他的语言环境是什么?也许在 Controller.php 的 __construct 函数中。如果是,我该如何实现?
谢谢!
【问题讨论】:
标签:
php
laravel
internationalization
locale
lumen
【解决方案1】:
解决方案:
在我的 API 中,每个用户都需要使用 JWT 登录,所以我在 Controller.php 的 __construct 函数中使用了这个
public function __construct()
{
if(!Auth::check()) abort(403, 'Unauthorized');
$this->user = Auth::user();
app('translator')->setLocale($this->user->language_code); // 'en', 'ro', etc
}