CI 묻고 답하기

제목 세그먼트값을 반환하는 함수를 변수에 사용할순 없나요?
카테고리 CI 2, 3
글쓴이 LIA 작성시각 2017/04/12 10:04:04
댓글 : 7 추천 : 0 스크랩 : 0 조회수 : 19982   RSS

안녕하세요

 

혹시 현재 주소값에서 세그먼트값을 반환하는

$this-uri->segment()의 함수를 변수에 사용할수는 없나요?

 

예를들어

 

$ddddd = http://localhost/index.php/d/test/tt/fff;

이러한 변수가 있다고 가정할때

 

$ddddd 변수의 세그먼트 2번값인 test를 얻어오고싶은데

$this->$ddddd->segment(2); 이런식으론 사용할수 없더라구요

 

값을 얻으려면 url_explode 함수 만들어놓은걸로 잘라야 하나요?

 다음글 간헐적 mysqli::real_connect(): (H... (8)
 이전글 parent::__construct()를 사용하는 이유 (2)

댓글

양승현 / 2017/04/12 10:11:43 / 추천 0
넹 잘라야지요.

커먼라이브러리에 url을 변수화 할수있는 함수 하나 등록해두셔서 두루두루 쓰시는게 좋지요.
팁게시판에 보시면 웅파님이 올려두신 관련함수가 있을듯..
세그먼트와 쿼리스트링까지 잘라서 변수에 저장하는거용.
kaido / 2017/04/12 10:19:09 / 추천 0

있습니다 ^^

http://www.ciboard.co.kr/user_guide/kr/libraries/uri.html

메뉴얼 보시면 친절하게 나와있습니다.

저같은 경우에는 컨트롤러 생성자 영역에 항상 이걸 넣어둡니다. [저는 정확하게 리맵에다 넣어둡니다.]

$this->segs = $this->uri->segment_array();

 

그 다음에는 컨트롤러 함수이나 뷰에서도 $this->segs[1]  , $this->segs[2]  이런식으로 접근 가능 합니다.

LIA / 2017/04/12 11:31:39 / 추천 0

답변감사합니다.

kaido님 방식대로 해보도록하겠습니다~~!!

LIA / 2017/04/12 11:40:12 / 추천 0

kaido님 방식대로 진행해 보았으나 알려주신 내용이 현재 uri를 배열로 저장하는 방법인것 같습니다.

제가궁금한것은 변수에 담겨있는 주소값의 세그먼트를 뽑아서 쓰는방법입니다.

현재페이지는 http://dddd.com/index.php/asda/asdasd 의 상태에서

$tt라는 변수에 http://dddd.com/index.php/dsds/dsadsa 라는 값이 저장되어있을때

변수에 저장되어있는 세그먼트 1번값인 dsds의 값을 얻어오는 방법이 궁금합니다.

LIA / 2017/04/12 11:42:54 / 추천 0

사실 이값은 그냥 index.php부분을 시작으로놓고 슬래쉬 두개 사이값을 잘라주는 함수를 만들면 값을 얻어올수 있습니다만.

혹시나 세그먼트를 구하는 함수에 이러한 기능이 있나 싶어서 질문하였습니다.

kaido / 2017/04/12 13:34:26 / 추천 0

변수에 담겨 있는건 별수 없이 짤라야 합니다.

core 부분에 자르는 로직이 있으니 참고 하시거나, 확장 해서 사용하셔도 될것 같습니다.

/system/core/URI.php 파일 입니다.

LIA / 2017/04/12 13:35:54 / 추천 0

답변감사합니다.

자르는것은 뒤의 세그먼트만 남기고 explode를 사용해서 잘랐습니다!