我正在使用CodeIgniter(V:2.2.6),我有一个简单的类User
,其中包含一些基本方法,如create
,update
,edit
,{ {1}}和delete
。对于index
函数,我使用参数index
(这是第二个URI段)以显示有关该用户的一些信息。因此默认URL如下所示:
$user
显示有关用户'john'的一些信息。
现在,我想从网址中删除术语“索引”,以便它看起来像:
/user/index/john
为此,我在routes.php中添加了以下规则。
/user/john
它可以达到目的,但它会阻止访问$route['user/(:any)'] = "user/index/$1";
等其他功能并自动进入/user/create
。要解决此问题,除了手动添加路由规则(如
/user/index
对于$route['user/create'] = "user/create";
类的每个方法,这根本不是很酷。那么,在当前情况下,请任何人建议我更好的路由方式吗?
以下是我的代码:
User
注意:我已经通过CodeIgniter documentation进行了URI路由和另一个类似问题here,但无法找到一个有前景的解决方案。请不要建议CodeIgniter版本更新。
答案 0 :(得分:4)
我不确定,如果这是你喜欢的答案,但我认为它应该有用。 只需将此功能放在用户控制器中即可。
public function _remap($method)
{
if (method_exists($this, $method))
{
$this->$method();
}
else
{
$this->index($method);
}
}