laravel Route::group 带参数问题

laravel 开发 多语言 写了路由组

Route::group(['prefix'=>'/{locale?}'],function($locale){
dump( $locale);
App::setLocale($locale);
Route::get('/','homeController@index');
});

访问是没问题,但是取不到$locale 的值,
输出发现$locale 是route 对象,怎么获取匹配的URL变量值?

阅读 10.9k
3 个回答

变量名 都不一致,一个是 locale,一个是 loacale 能取到么


Route::group(['prefix' => '/{locale?}'], function () {
    Route::get('/', function ($locale) {
        dump($locale);
        App::setLocale($locale);
        exit('aaa');
    });
});

那是我是的时候 写错的,我看了源码Route::group 没有返回值,直接执行 user_call_func($callback($this));
这样执行的 背包内拿不到值 应该怎么那?

新手上路,请多包涵
protected function loadRoutes($routes)
    {
        if ($routes instanceof Closure) {
            $routes($this);
        } else {
            $router = $this;

            require $routes;
        }
    }

Route::group($attributes, $callback)方法,$callback接收的参数是一个Router实例

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题