在路由文件fuelphp中反转控制器参数顺序


Reversing controller argument order in routes file fuelphp

我正在运行一个fuelphp应用程序,它的路由看起来像这样:

'lastname/:lastname/firstname/:firstname'=> '(@api)/mycontroller/my_method/$2/$1',

然后我在控制器上有一个方法,像这样:

public function get_my_method($firstname, $lastname);

不幸的是,$firstname变量包含从路由传入的:lastname,而$lastname变量包含从路由传入的:firstname

我试过从路由文件中切换$2$1

我想保持端点url不变-我只是想颠倒进入控制器方法的参数顺序。

有谁知道怎么做吗?

您需要将这些段用括号括起来以捕获它们,而不是使用命名参数。

'lastname/(:segment)/firstname/(:segment)' => '(@api)/mycontroller/my_method/$2/$1'

另一种选择是在控制器中使用$this->param('firstname')等,而不是将它们作为参数传递给动作函数。

http://fuelphp.com/dev-docs/general/routing.html/先进