gpt4 book ai didi

laravel - 如何通过 Laravel 5 中的路由将默认值传递给 Controller ​​?

转载 作者:行者123 更新时间:2023-12-03 20:34:53 27 4
gpt4 key购买 nike

在 laravel 中,如果我想将参数传递给路由文件中的 Controller

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?

);

最佳答案

据我所知,不幸的是,没有捷径可走。

注入(inject)一个可选参数:

Route::get('user/{name?}', function ($name = 'John') {
$ctrl = new \App\Http\Controllers\UsersController();
return $ctrl->findsk($name);
});

注入(inject)一个带有更多参数的可选参数:
假设你有一个 $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);
});

从路由器向 Controller 注入(inject)一些东西:
假设想使用一个 url 作为开关。
Route::get('my-special-url', function () {
$ctrl = new \App\Http\Controllers\UsersController();
return $ctrl->findsk(1, 'Paul');
});

关于laravel - 如何通过 Laravel 5 中的路由将默认值传递给 Controller ​​?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31871910/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com