Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为codeigniter中需要参数的控制器函数创建路由_Php_Codeigniter_Routing - Fatal编程技术网

Php 如何为codeigniter中需要参数的控制器函数创建路由

Php 如何为codeigniter中需要参数的控制器函数创建路由,php,codeigniter,routing,Php,Codeigniter,Routing,我想知道如何为需要传递参数的控制器函数创建路由。 比如,如果我创建一个如下函数: function abc($arg) { return $arg; } 那么,如何为同一功能指定路由?我的参数将包含字母和数字的混合体使用并尝试读取传递给方法的段 在下面的控制器方法中,传递url段,例如 控制器/功能/argument1/argument2/argument3/4/5/6/ // controller public function myfunction(){ var_dump(

我想知道如何为需要传递参数的控制器函数创建路由。 比如,如果我创建一个如下函数:

function abc($arg)
 {
     return $arg;
 }
那么,如何为同一功能指定路由?我的参数将包含字母和数字的混合体

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

在下面的控制器方法中,传递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" // ..

将此添加到您的应用程序路径/application/config/routes.php

$route['controller_name/abc/([A-Za-z0-9])+'] = "controller_name/abc/$1";
有关更多详细信息,请参见。我用(:any)代替([a-z]*\d*)+i,它工作了。塔克斯