我正在运行一个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/先进