Я запускаю приложение FuelHP с маршрутом, который выглядит следующим образом:
'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')
и т. д. в вашем контроллере, вместо того, чтобы передавать их в качестве аргументов функции action.
Других решений пока нет …