Laravel Routes通配符

时间:2016-10-02 12:51:08

标签: php routes laravel-5.2 wildcard

我是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}');

非常感谢

1 个答案:

答案 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');