Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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/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
Php 如何在codeigniter中获取动态生成方法的名称_Php_Codeigniter_Url - Fatal编程技术网

Php 如何在codeigniter中获取动态生成方法的名称

Php 如何在codeigniter中获取动态生成方法的名称,php,codeigniter,url,Php,Codeigniter,Url,我实现了如下url myapp.com/profile/username1 myapp.com/profile/username2 myapp.com/profile/username3 my routes.php文件包含以下代码行 $route['profile/(:any)'] = 'profile/user_profile/$profile_method'; public function user_profile($profile_method) { e

我实现了如下url

myapp.com/profile/username1

myapp.com/profile/username2

myapp.com/profile/username3

my routes.php文件包含以下代码行

$route['profile/(:any)'] = 'profile/user_profile/$profile_method';
    public function user_profile($profile_method)
    {
        echo $profile_method;
    }
我的
配置文件
控制器包含此代码

$route['profile/(:any)'] = 'profile/user_profile/$profile_method';
    public function user_profile($profile_method)
    {
        echo $profile_method;
    }

一切正常,但问题是我想返回username以进一步处理,此方法返回参数名而不是username。请告诉我哪里做错了?

只要提示用户名myapp.com/profile/username/1后没有
/

试一试

而不是

$route['profile/(:any)'] = 'profile/user_profile/$profile_method';

然后

公共函数用户配置文件($profile\u method='',$id='')
{
echo$profile_方法“
”。$id; }
确保已正确命名控制器和其他文件,其中只有类和文件名的第一个字母是大写Profile.php

您可能需要在主目录中具有htaccess才能从url中删除index.php


评论

CI使用正则表达式替换动态url变量,这意味着$1=第一个匹配,$2=第二个匹配,等等。$部分不是普通的php变量,因此您不能根据需要命名它



提示您在用户名myapp.com/profile/username/1之后没有
/

试一试

而不是

$route['profile/(:any)'] = 'profile/user_profile/$profile_method';

然后

公共函数用户配置文件($profile\u method='',$id='')
{
echo$profile_方法“
”。$id; }
确保已正确命名控制器和其他文件,其中只有类和文件名的第一个字母是大写Profile.php

您可能需要在主目录中具有htaccess才能从url中删除index.php


评论

CI使用正则表达式替换动态url变量,这意味着$1=第一个匹配,$2=第二个匹配,等等。$部分不是普通的php变量,因此您不能根据需要命名它



它工作正常。但我仍然想知道它是如何工作的,以及在路由中更改参数名称为什么会影响相关的路由controller@SarjilShaikh-CI的路由器正在使用正则表达式替换动态url变量,这意味着
$1
=第一个匹配项,
$2
=第二个匹配项等。
$
-部分不是普通的php变量,因此您无法根据需要命名它。它工作正常。但我仍然想知道它是如何工作的,以及在路由中更改参数名称为什么会影响相关的路由controller@SarjilShaikh-CI的路由器正在使用正则表达式替换动态url变量,这意味着
$1
=第一个匹配项,
$2
=第二个匹配项等。
$
-部分不是普通的php变量,因此您无法根据需要命名它。