将参数传递给函数

时间:2017-10-04 08:33:59

标签: php laravel routing

有没有办法将参数从没有通配符的路由传递给函数 例如,要访问查询字符串数据,我们需要添加通配符以路由

Route::post('reg/{param}','controller@func');

但我不想使用通配符或查询字符串。我想传递数据作为参数

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题:在你的控制器中你所要做的就是写下你的func方法,如下所示:

public function func($param) {}

Laravel会自动将{param}中的任何内容添加到$param。因此,如果您发布到服务器http://server/reg/foo,那么$param将获得值“foo”。它不是变量的排序,而是变量的名称。因此,如果您将变量命名为{fooX},则会将其传递给名为$fooX的控制器方法。

您可以添加多个变量:

Route::post('reg/{paramX}/{paramY}','controller@func');

并将您的方法定义为

public function func($paramX, $paramY) {}

答案 1 :(得分:0)

不,这就是Laravel路由器的工作原理。但您仍然可以从请求中访问它们。就像你可能在过去的全天变量$_GET$_POST中完成的那样。

只需定义没有通配符的路线,如下所示:

Route::post('reg','controller@func');

在函数内使用$request->query('param_name');