流明:如何从路由传递参数到控制器

jrs*_*nga 6 laravel lumen

从我的路线我需要将$ page的值传递给控制器

路线:

$app->get('/show/{page}', function($page) use ($app) {

  $controller = $app->make('App\Http\Controllers\PageController');
  return $controller->index();

});
Run Code Online (Sandbox Code Playgroud)

控制器:

public static function index(){

  /** how can I get the value of $page form here so i can pass it to the view **/

  return view('index')->with('page', $page);

}
Run Code Online (Sandbox Code Playgroud)

Jee*_*usu 5

您可以将其作为索引函数的参数传递.

路线

$app->get('/show/{page}', function($page) use ($app) {
    $controller = $app->make('App\Http\Controllers\PageController');
    return $controller->index( $page );
});
Run Code Online (Sandbox Code Playgroud)

虽然路线对我来说看起来不对,但通常你在开始时没有正斜杠来定义路线: $app->get('show/{page}', ....

调节器

public static function index($page)
{
    return view('index')->with('page', $page);
}
Run Code Online (Sandbox Code Playgroud)

除非有使用闭包的原因,否则您的路由可以重写如下,{$page}变量将自动作为参数传递给控制器​​方法:

路线

$app->get('show/{page}', [
    'uses' => 'App\Http\Controllers\PageController@index'
]);
Run Code Online (Sandbox Code Playgroud)