流明:如何将参数从路由传递给控制器
Lumen: how to pass parameters to controller from route
在我的路线中,我需要将 $page 的值传递给控制器
路线:
$app->get('/show/{page}', function($page) use ($app) {
$controller = $app->make('App\Http\Controllers\PageController');
return $controller->index();
});
控制器:
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);
}
您可以将其作为索引函数的参数传递。
路线
$app->get('/show/{page}', function($page) use ($app) {
$controller = $app->make('App\Http\Controllers\PageController');
return $controller->index( $page );
});
虽然这条路线在我看来是错误的,但通常您在开头定义路线时没有正斜杠:$app->get('show/{page}', ...
.
控制器
public static function index($page)
{
return view('index')->with('page', $page);
}
除非有使用闭包的原因,否则您的路由可以重写如下,并且 {$page}
变量将作为参数自动传递给控制器方法:
路线
$app->get('show/{page}', [
'uses' => 'App\Http\Controllers\PageController@index'
]);
在我的情况下,显示指定的用户,情况几乎相同
路由文件 (web.php)
Route::get('user/{id}/show', ['as'=> 'show', 'uses'=>'UserController@show']);
im still using facade
查看文件 (users.blade.php)
href="{{route('show', ['id' => $user->id])}}"
只是将一个数组传递给路由名称
和
中的最后一个
控制器文件(UserController.php)
public function show($id)
{
$user = User::findorfail($id)->first();
return view('user', compact('user'));
}
完成
在我的路线中,我需要将 $page 的值传递给控制器
路线:
$app->get('/show/{page}', function($page) use ($app) {
$controller = $app->make('App\Http\Controllers\PageController');
return $controller->index();
});
控制器:
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);
}
您可以将其作为索引函数的参数传递。
路线
$app->get('/show/{page}', function($page) use ($app) {
$controller = $app->make('App\Http\Controllers\PageController');
return $controller->index( $page );
});
虽然这条路线在我看来是错误的,但通常您在开头定义路线时没有正斜杠:$app->get('show/{page}', ...
.
控制器
public static function index($page)
{
return view('index')->with('page', $page);
}
除非有使用闭包的原因,否则您的路由可以重写如下,并且 {$page}
变量将作为参数自动传递给控制器方法:
路线
$app->get('show/{page}', [
'uses' => 'App\Http\Controllers\PageController@index'
]);
在我的情况下,显示指定的用户,情况几乎相同
路由文件 (web.php)
Route::get('user/{id}/show', ['as'=> 'show', 'uses'=>'UserController@show']);
im still using facade
查看文件 (users.blade.php)
href="{{route('show', ['id' => $user->id])}}"
只是将一个数组传递给路由名称 和
中的最后一个控制器文件(UserController.php)
public function show($id)
{
$user = User::findorfail($id)->first();
return view('user', compact('user'));
}
完成