Php 如何在codeigniter中获取动态生成方法的名称
我实现了如下url myapp.com/profile/username1 myapp.com/profile/username2 myapp.com/profile/username3 my routes.php文件包含以下代码行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
$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变量,因此您无法根据需要命名它。