我是Laravel的新手,想知道是否有人可以在routes.php文件中协助使用通配符
这就是我目前所拥有的
Route::post('/post/method1','postController@method1');
Route::post('/post/method2','postController@method2');
Route::post('/post/method3','postController@method3');
这就是我想要实现的目标。
Route::post('/post/{variable}','postController@{variable}');
非常感谢
答案 0 :(得分:3)
在控制器中创建一个方法,根据参数值路由请求:
public function route(string $path){
// define the allowed methods
$allowedMethods = ['someMethodName', 'anotherMethodName'];
// check if the path name is a method and is allowed
if(in_array($path, $allowedMethods, true) && method_exists($this, $path)){
// call method
return $this->{$path}();
}
// handle error
}
然后就像你通常那样使用控制器:
Route::post('/post/{variable}','postController@route');