如何在Laravel中声明无限参数?

Nis*_*ngo 6 php laravel laravel-routing laravel-5

有没有办法在Laravel 5的路由中声明无限数量的参数,类似于Codeigniter?

我将构建一个大型应用程序,并且无法为每个函数声明路由文件中的每个参数.我尝试了很多,但没有得到任何解决方案.

Lak*_*ngh 7

你可以用它

//routes.php
Route::get('{id}/{params?}', 'YourController@action')->where('params', '(.*)');
Run Code Online (Sandbox Code Playgroud)

请记住将上面的内容放在routes.php文件的最后(底部),因为它就像一个'catch all'路由,因此您必须首先定义所有"更具体"的路由.

//controller 
class YourController extends BaseController {

    public function action($id, $params = null)
    {
        if($params) 
        {
            $params = explode('/', $params);
            //do stuff 
        }
    }
}
Run Code Online (Sandbox Code Playgroud)