http://codeigniter-kr.org/tip/view/303
위 페이지 맨 아래
우기파파님께서 만드신
url_explode 함수는 가져오려는 값이 비어있을경우
에러를 살짝 뱉게되어 수정해서 올립니다
class MY_URI extends CI_URI
{
public function __construct()
{
parent::__construct();
}
public function get_next_segment($segment)
{
$key = array_search($segment, $this->segments);
return $key && isset($this->segments[$key + 1]) ? $this->segments[$key + 1] : NULL;
}
}
//사용 예
domain.com/controller/method/page/3/limit
echo $this->uri->get_next_segment('page');
//3
$this->uri->get_next_segment('limit');
//NULL
근데, 문제가...흠.. 저도 이렇게 비슷하게 해보려다가 생긴 문제가....
domain.com/controller/method/page//limit/11
이렇게 page의 값을 null로 넣었을 경우, (물론 마지막 파라메터값이 null이면 문제없지만... 중간이면...)
page를 호출하면 null이 나와야하는데, 넘어가버려서 limit이 리턴되어버립니다.
$this->uri->segment(4)를 해도 null이 나와야 하는데, limit이 나와버립니다.. 같은 이유에서겠지요...
segments 세팅 자체가 저렇게 하고 있는듯....
그래서.. 전 http://codeigniter-kr.org/tip/view/508/page/1/ 이렇게 한....
흠... url을 다시 뽀개거나 segments 세팅하는 놈을 수정 혹은 재정의 하거나 해야하지 않을까 하는...