0

我想知道如何为需要传递参数的控制器函数创建路由。就像我创建这样的函数一样:

function abc($arg)
 {
     return $arg;
 }

那么如何为同一功能指定路线?我的论点将包含字母和数字的混合

4

2 回答 2

0

使用uri 类并尝试读取传递给您的方法的段

在下面的控制器方法中,您传递 url 段,例如
控制器/函数/argument1/argument2/argument3/4/5/6/..

// controller
public function myfunction(){
 var_dump($this->url->segment(1)); // route/abc -> abc
 var_dump($this->url->segment(2)); // route/abc/123 -> 123
}

如果函数采用固定长度的参数,那么类似于

public function myfunction($arg1,$arg2){
 // ..
}

您可以使用路线映射来完成这项工作,

$route["myfunction/(any)"= "remap" // ..
于 2012-08-12T10:51:59.583 回答
0

将此添加到您的APP_PATH/application/config/routes.php

$route['controller_name/abc/([A-Za-z0-9])+'] = "controller_name/abc/$1";

更多详情http://codeigniter.com/user_guide/general/routing.html

于 2012-08-12T11:17:51.347 回答