如何通过 Laravel 5 中的路由将默认值传递给控制器?
How to pass default values to controller by routing in Laravel 5?
在laravel中,如果我想将参数传递给路由文件中的控制器
Route::get('user/sk/{id}' , 'UsersController@findsk');
如果我想传递默认参数:
Route::get('user/{name?}', function ($name = 'John') {
// how do I invoke my controller here?
return $name;
});
如何合并这两个东西?有捷径吗?
Route::get('user/sk/{id}' , 'UsersController@findsk'
// can I add an array of default parameters here?
);
您可以作为默认参数传递给您的控制器,就像普通函数一样
Route::get('user/sk/{id}' , 'UsersController@findsk');
在UsersController
function findsk($id ='myVal'){
}
据我所知,不幸的是没有捷径。
注入一个可选参数:
Route::get('user/{name?}', function ($name = 'John') {
$ctrl = new \App\Http\Controllers\UsersController();
return $ctrl->findsk($name);
});
要注入一个可选参数和更多参数:
假设您有一个 $id
参数并且 UsersController@findsk
接受 $id
和 $name
。
Route::get('user/{id}/{name?}', function ($id, $name = 'John') {
$ctrl = new \App\Http\Controllers\UsersController();
return $ctrl->findsk($id, $name);
});
从路由器向控制器注入一些东西:
假设要使用 url 作为开关。
Route::get('my-special-url', function () {
$ctrl = new \App\Http\Controllers\UsersController();
return $ctrl->findsk(1, 'Paul');
});
在laravel中,如果我想将参数传递给路由文件中的控制器
Route::get('user/sk/{id}' , 'UsersController@findsk');
如果我想传递默认参数:
Route::get('user/{name?}', function ($name = 'John') {
// how do I invoke my controller here?
return $name;
});
如何合并这两个东西?有捷径吗?
Route::get('user/sk/{id}' , 'UsersController@findsk'
// can I add an array of default parameters here?
);
您可以作为默认参数传递给您的控制器,就像普通函数一样
Route::get('user/sk/{id}' , 'UsersController@findsk');
在UsersController
function findsk($id ='myVal'){
}
据我所知,不幸的是没有捷径。
注入一个可选参数:
Route::get('user/{name?}', function ($name = 'John') {
$ctrl = new \App\Http\Controllers\UsersController();
return $ctrl->findsk($name);
});
要注入一个可选参数和更多参数:
假设您有一个 $id
参数并且 UsersController@findsk
接受 $id
和 $name
。
Route::get('user/{id}/{name?}', function ($id, $name = 'John') {
$ctrl = new \App\Http\Controllers\UsersController();
return $ctrl->findsk($id, $name);
});
从路由器向控制器注入一些东西:
假设要使用 url 作为开关。
Route::get('my-special-url', function () {
$ctrl = new \App\Http\Controllers\UsersController();
return $ctrl->findsk(1, 'Paul');
});