编程语言
首页 > 编程语言> > php-在运行时为Lumen的.env文件中定义的APP_LOCALE设置值

php-在运行时为Lumen的.env文件中定义的APP_LOCALE设置值

作者:互联网

我最近开始学习Lumen微框架,并且需要在运行时更改.env文件中定义的APP_LOCALE键的值.我的目标是在运行时切换语言,以打印在我的语言文件中定义的某个String的不同翻译.

在流明文档中,它写为:

To set configuration values at runtime, pass an array to the config helper

因此,我在测试控制器中尝试了休闲:
    

use Illuminate\Support\Facades\App;
use Laravel\Lumen\Routing\Controller as BaseController;

class Controller extends BaseController{
    public function show_test(){
        echo(trans('testfile.greetings'));
        config(['app.LOCALE' => 'en']);
        echo(trans('testfile.greetings'));
    }
}

在我的.env文件中,我的“默认” APP_LOCALE设置为“ fr”,调用此控制器的结果以法语打印了我的字符串两次,而不是预期的法语打印一次,然后是英语打印一次.

如何在运行时更改值?

解决方法:

显然有人在我几天后发布了same question,得到的答案是:

app('translator')->setLocale('en');

标签:lumen,laravel,php
来源: https://codeday.me/bug/20191028/1950435.html