我喜欢SO处理URI的方式。我想在CI中模仿相同的行为。我有一个名为Users
的控制器,索引方法应该有一个参数,即用户标识。我在数据库中搜索与该用户标识关联的用户名。考虑到user:1
有username:Santa Claus
,我怎么能在用户名追加到URI,所以它看起来像http://foo.com/users/1/santa-claus
附加URI段
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Users extends CI_Controller {
function index($uID = 0) {
if ($uID > 0) {
$this->load->model('users_model');
$uname = $this->users_model->_getUsername($uID);
#append somehow..
} else {
echo('load all users');
}
}
}
只是要清楚,我试图做到这一点:
https://stackoverflow.com/a/11041075/704015
您正确地预测到它会导致重定向循环。我的第一个想法是分解URI并检查最后一个段的值与'$ uname'的值,但我不知道这有多可靠。 –
我加了这个条件:'$ uri = explode('/',$ _SERVER ['REQUEST_URI']); \t \t \t if($ uname!= end($ uri)){...} –