小编Evg*_*nko的帖子

资源方法参数中的 Laravel 路由前缀忽略

我需要在我的项目中实施本地化。我添加了一个带有前缀的组。

Route::group([
    'prefix' => '{locale}',
    'where' => ['locale' => '[a-zA-Z]{2}'],
    'middleware' => 'setlocale'
], function () {

   ...

   Route::resource('projects', 'ProjectsController');

   ...

})

Run Code Online (Sandbox Code Playgroud)

中间件 setlocale

<?php

namespace App\Http\Middleware;

use Closure;

class SetLocale
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        app()->setLocale($request->segment(1));
        return $next($request);
    }
}
Run Code Online (Sandbox Code Playgroud)

路由器列表

+--------+----------------------------------------+--------------------------------------------+---------------------------+----------------------------------------------------------------------------+---------------------+
| Domain | Method                                 | URI                                        | Name                      | Action                                                                     | Middleware          |
+--------+----------------------------------------+--------------------------------------------+---------------------------+----------------------------------------------------------------------------+---------------------+
|        | …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-5

4
推荐指数
1
解决办法
1030
查看次数

标签 统计

laravel ×1

laravel-5 ×1