Laravel-将通配符添加到每条路线



我已经在Laravel和每个路线上创建了一个多语言应用程序(因为我想在URL中看到我的语言是什么(我需要

www.example.com/{locale}/home 

例如,{locale}是设定语言,而家良好,是家。但是对于每一条路线,我都需要宣布该地区通配符。是否有任何方法可以使用中间件或其他方法在执行路线之前添加此操作?谢谢!

您可以使用前缀。

Route::group(['prefix' => '{locale}'], function () {
    Route::get('home','Controller@method');
    Route::get('otherurl','Controller@method');
});

以及您现在如何访问它。

www.example.com/{locale}/home 
www.example.com/{locale}/otherurl

以获取更多信息。https://laravel.com/docs/5.8/routing#route-group-prefixes

不确定我是否正确理解您的请求,但我相信这是您正在寻找的范围:

一条广泛的路线,可以接收基于适当语言的页面的"语言环境"。

如果是这样,我将定义这样的路线:

Route::get({locale}/home, 'HomeController@index');

,然后在您的HomeController@index中,您将具有$ locale变量,您可以实现您的语言逻辑:

class HomeController extends Controller
{
    /**
     * Show the application homepage.
     *
     * @return mixed (View or Redirect)
     */
    public function index(Request $request, $locale)
    {
        switch ($locale) {
        case 'en':
            //do english logic
            break;
        so on...
        }
    }

我希望它能有所帮助

最新更新