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

这篇博客介绍了在Lumen微框架中如何在运行时更改.env文件中的APP_LOCALE配置,以实现语言切换。作者遇到的问题是在尝试使用`config()`助手函数更改LOCALE值后,字符串并未按预期翻译。解决方案是使用`app('translator')->setLocale('en')`来动态改变语言环境。这使得程序能够根据需求在不同语言之间切换。
摘要由CSDN通过智能技术生成

我最近开始学习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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值