以数组作为参数的流明路由
Lumen Routing with arrays as arguments
我正在尝试在 Lumen 中创建一个将两个数组作为参数的路由。因此,作为我在 web.php
中的路线,我有以下内容:
$router->get('matrix/mul/{m1}/{m2}', ['uses' => 'MatrixController@multiplyMatrix']);
其中 m1 和 m2 应该是数组 1 和数组 2。然后在控制器中我有以下内容:
public function multiplyMatrix(array $m1, array $m2) {
var_dump($m1);
var_dump($m2);die;
}
非常简单,我只想确保值以数组的形式到达那里。但是当我尝试使用 http://localhost:8000/matrix/mul/m1[0,1]/m2[2,3]
和 http://localhost:8000/matrix/mul/m1[]=0/m2[]=2
通过浏览器访问路由时,我得到了同样的错误:Argument 1 passed to App\Http\Controllers\MatrixController::multiplyMatrix() must be of the type array, string given
.
我知道我的问题可能出在构建 url 的方式上。关于如何使这项工作有任何想法吗?
您在路由中传递的数组是 json 编码的。只需在控制器中解码它们并将 array
转换为 string
.
我正在尝试在 Lumen 中创建一个将两个数组作为参数的路由。因此,作为我在 web.php
中的路线,我有以下内容:
$router->get('matrix/mul/{m1}/{m2}', ['uses' => 'MatrixController@multiplyMatrix']);
其中 m1 和 m2 应该是数组 1 和数组 2。然后在控制器中我有以下内容:
public function multiplyMatrix(array $m1, array $m2) {
var_dump($m1);
var_dump($m2);die;
}
非常简单,我只想确保值以数组的形式到达那里。但是当我尝试使用 http://localhost:8000/matrix/mul/m1[0,1]/m2[2,3]
和 http://localhost:8000/matrix/mul/m1[]=0/m2[]=2
通过浏览器访问路由时,我得到了同样的错误:Argument 1 passed to App\Http\Controllers\MatrixController::multiplyMatrix() must be of the type array, string given
.
我知道我的问题可能出在构建 url 的方式上。关于如何使这项工作有任何想法吗?
您在路由中传递的数组是 json 编码的。只需在控制器中解码它们并将 array
转换为 string
.