-
[CodeIgniter] URL 헬퍼 (URL Helper)프로그래밍/CodeIgniter 2019. 1. 22. 15:46
▶CodeIgniter URL 헬퍼 (URL Helper)
▶설명
코드이그나이터 URL관련된 기능을 쉽게 사용 할 수 있게 도와주는 URL 헬퍼(URL Helper)에 대해 알아보도록 하겠습니다.
이 글에서는 URL 헬퍼에 함수 중 자주 사용하는 함수만을 정리했습니다.
자세한 내용은 아래의 링크를 참고하시기 바랍니다.
▶URL 헬퍼 로드
URL 헬퍼를 로드하는 방법은 간단합니다.
$this->load->helper('url');
그렇지만, 모든 사용하고자 하는 코드에서 개별로 로드하고 싶지 않다면,
아래와 같이 자동으로 로드하도록 처리하면 됩니다.
application/config/autoload.php
// $autoload['helper'] = array(); $autoload['helper'] = array('url');
헬퍼 자동 로드 목록에 URL 헬퍼를 추가하시면 됩니다.
이제는 URL 헬퍼 로드에 관해 신경쓰지 않아도 됩니다.
▶site_url 함수
설정 파일에서 설정된 사이트의 URL을 반환합니다.
사용법
강조 처리된 부분만 필수 사항입니다.
site_url(새그먼트 = '', 프로토콜 = NULL)
URL에는 새그먼트를 전달할 수도 있습니다.
새그먼트 빈 값
코드
echo site_url();
결과
http://example.com/index.php
새그먼트 문자열
코드
echo site_url('news/local/123');
결과
http://example.com/index.php/news/local/123
새그먼트 문자열 (index.php가 제거된 경우)
코드
echo site_url('news/local/123');
결과
http://example.com/news/local/123
새그먼트 배열
코드
$segments = array('news', 'global', '123'); echo site_url($segments);
결과
http://example.com/index.php/news/global/123
▶base_url 함수
설정 파일에서 설정된 사이트의 URL을 반환하는 함수입니다.
사용법
강조 처리된 부분만 필수 사항입니다.
base_url(새그먼트 = '', 프로토콜 = NULL)
URL에는 새그먼트를 전달할 수도 있습니다.
이렇게까지만 보면 site_url 함수와 동일해 보이지만,
base_url 함수는 index.page와 url_suffix를 제외하고 반환합니다.
그렇기 때문에 site_url 함수보다 이미지나 CSS 같은 파일에 경로를 받는데 사용할 수 있습니다.
(물론 site_url도 index.php를 제거하면, 하위 경로에 관해 비슷하게 동작하기 때문에 문제가 되지는 않습니다.)
새그먼트 빈 값
코드
echo base_url();
결과
http://example.com/
새그먼트 문자열
코드
echo base_url('news/local/123');
결과
http://example.com/news/local/123
새그먼트 배열
코드
$segments = array('news', 'global', '123'); echo base_url($segments);
결과
http://example.com/news/global/123
Asset 가져오기
코드
echo base_url('assets/images/profile.png');
결과
http://example/assets/images/profile.png
▶current_url 함수
현재 페이지의 전체 URL (새그먼트 포함)을 반환하는 함수입니다.
사용법
강조 처리된 부분만 필수 사항입니다.
current_url()
기본
코드
echo current_url();
결과
http://example.com/news/local/123
동일한 기능
코드
echo site_url(uri_string());
결과
http://example.com/news/local/123
▶uri_string 함수
현재 페이지의 URI 새그먼트를 반환하는 함수입니다.
사용법
강조 처리된 부분만 필수 사항입니다.
uri_string()
기본
URL
http://example.com/news/local/123
코드
echo uri_string();
결과
news/local/123
▶redirect 함수
페이지를 지정한 경로로 리디렉트 해주는 함수입니다.
사용법
강조 처리된 부분만 필수 사항입니다.
redirect(새그먼트 = '', 메서드= '', 코드 = NULL)
"header redirect"를 수행합니다.
- 첫 번째 파라미터는 코드이그나이터 내부의 새그먼트를 넣으면 됩니다. (외부 사이트에 경우 URL 전체를 넣어야 합니다.)
- 옵션인 두 번째 파라미터는 auto, location. refresh 메서드 중 하나를 선택할 수 있습니다. (Location은 더 빠르게 동작하지만 윈도우 서버에서 문제가 발생할 수 있습니다.)
- 옵션인 세 번째 파라미터는 location 리디렉트를 사용할 경우에만 가능합니다.
- 옵션인 세 번째 파라미터는 HTTP 응답 코드를 지정할 수 있습니다. (기본 응답코드는 302입니다.)
기본
코드
redirect('/article/13');
redirect - location
코드
redirect('/article/13', 'location');
redirect - refresh
코드
redirect('/article/13', 'refresh');
redirect - 응답코드 301
코드
redirect('/article/13', 'location', 301);
▶마치며
코드이그나이터에 URL 헬퍼를 알아봤습니다.
코드이그나이터에서 제공하는 다른 헬퍼에 대해서도 알고 싶으시다면, 매뉴얼을 참조해 주시기 바랍니다.
'프로그래밍 > CodeIgniter' 카테고리의 다른 글
[CodeIgniter] IP 주소 가져오기 (Input 확장) (0) 2019.01.22 [CodeIgniter] 기본 URL 설정 (0) 2019.01.22 [CodeIgniter] URL 규칙과 URI 가져오기 (0) 2019.01.22 [CodeIgniter] 로그 파일 분리하기 (로그 확장) (0) 2019.01.19 [CodeIgniter] 로그(Log) 기록하기 (0) 2019.01.15