0

我正在运行一个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 不变 - 我只想反转进入控制器方法的参数顺序。

有谁知道如何做到这一点?

4

1 回答 1

1

您需要将段括在括号中以捕获它们,而不是使用命名参数。

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

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

http://fuelphp.com/dev-docs/general/routing.html#/advanced

于 2015-05-20T06:34:48.017 回答