如何在每次用户访问时自动在Laravel中设置语言首选项?

时间:2015-08-27 03:14:27

标签: php laravel

我想在Laravel中使用我的网络应用程序的本地化功能。这是我的伪代码:

If !session::has(lang)
  Get user's location and set proper language in session
App::setLocale(session::get(lang))

此代码可能不完美,但我主要关注的是放置此代码的位置,以便每次用户访问时都会自动运行。

我想在一个地方正确地集中代码,并且不希望将代码放在错误的位置。我可以将它放在route.php中,提供服务或使用中间件。但是,我想学习正确的练习,有什么建议吗?

1 个答案:

答案 0 :(得分:4)

我建议将middleware然后registering创建为全球中间件,方法是将其附加到$middleware类中的app/Http/Kernel.php数组中。

自动为每个请求调用全局中间件,因此它似乎非常适合您的情况。