ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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 헬퍼를 알아봤습니다.

    코드이그나이터에서 제공하는 다른 헬퍼에 대해서도 알고 싶으시다면, 매뉴얼을 참조해 주시기 바랍니다.


    댓글

Designed by Tistory.