본문 바로가기
  • 행복하게 오래오래 개발자로 살아가기
Old/PHP

코드이그나이터 Helper

by yundev 2014. 8. 13.
반응형

helper

표준 PHP함수를 사용하듯 사용하면 됨.

자주 사용되는 로직을 재활용 할 수 있게 만든 일종의  Library.

CI에는 라이브러리라는 개념이 별도로 존재하는데 helper Library의 차이점은 객체지향이 아닌 독립된 함수라면 Library는 객체지향인 클래스이다.

Ø  배열(Array)

Ø  CAPTCHA 헬퍼

Ø  쿠키(Cookie)

Ø  날짜(Date)

Ø  디렉토리(Directory)

Ø  다운로드(Download)

Ø  이메일(Email)

Ø  파일(File)

Ø  (Form)

Ø  HTML

Ø  인플렉터(어형변화)

Ø  언어(Language)

Ø  숫자(Number)

Ø  경로(Path)

Ø  보안(Security)

Ø  스마일리(Smiley)

Ø  문자열(String)

Ø  텍스트처리(Text)

Ø  타이포그라피(Typography)

Ø  URL

Ø  XML

헬퍼를 사용하려면 사용하고자 하는 Helper를 로드해야함.

한 개의 헬퍼를 사용할 경우

$this->load->helper(‘헬퍼의 이름’)

복수 개의 헬퍼를 사용할 경우

$this->load->helper(‘헬퍼이름1’,’헬퍼이름2’);로 쉼표로 구분해 사용할 헬퍼의 이름을 적어준다.

자동으로 헬퍼를 로드해서 사용하기 위해서는

application/config/autoload.php $autoload[‘helper’]=array(‘url’,’file’); 처럼

사용할 헬퍼의 이름을 적어 준다.

*헬퍼는 사용하기 전에 반드시 먼저 로드 해야하며 컨트롤러의 어느 함수 안에서 로드해도 상관이 없다. 권장하지는 않지만 뷰파일 안에서도 로드할 수 있다. 헬퍼를 컨트롤러의 생성자에서 로드해두면 컨트롤러 내부의 어떤 함수에서도 바로 사용할 수 있다. 그렇지 않으면 헬퍼가 필요한 해당 함수에서 로드하여 사용해도 된다.

URL Helper에 있는 함수

site_url()

사이트 URL 리턴. 함수에 넘긴 다른 URL 세그먼트들 처럼 URL이 바뀌는 이벤트에서 간편하게 되어 돌아옴. 문자열, 배열로 함수에 넘겨질 수 있음.

문자열로 넘길 때

echo site_url("news/local/123");

배열을 이용한 세그먼트들의 예제

$segments = array('news', 'local', '123');

   echo site_url($segments);

리턴 되어 지는 사이트 주소 : http://www.your-site.com/index.php/news/local/123

base_url()

기본 사이트 URL 리턴

index_page()

config.php파일에 명시된 index페이지 리턴

anchor()

url이 기반된 표존 html 앵커링크를 만듬.

anchor(uri segments, text, attributes)

uri segment : url에 덧 붙이는 것을 원하는 다른 세그먼트 ( 문자열, 배열)

text : 링크에게 부를 수 있는 텍스트.

attribute: 링크에 추가되기를 원하는 속성들의 리스트.

echo anchor('news/local/123', 'My News');

<a href="http://www.your-site.com/index.php/news/local/123" title="My News">My News</a>

echo anchor('news/local/123', 'My News', array('title' => 'The best news!'))

<a href="http://www.your-site.com/index.php/news/local/123" title="The best news!">My News</a>

anchor_popup()

새로운 윈도우에서 URL을 염.

윈도우를 열게하는 방법을 조절하여 세번째 파라미터에서 자바스크립트 윈도우 속성들을 명시할 수 있음.

$atts = array(

              'width'      => '800',

              'height'     => '600',

              'scrollbars' => 'yes',

              'status'     => 'yes',

              'resizable'  => 'yes',

              'screenx'    => '0',

              'screeny'    => '0'

            );

echo anchor_popup(news/local/123, 'Click Me!', $atts);

mailto()

표준 이메일 링크를 만듦.

echo mailto('me@my-site.com', 'Click Here to Contact Me');

auto_link()

자동적으로 링크들 안의 문자열에 담고 있는 URL과 이메일 주소를 리턴함.

$string = auto_link($string);

오직 URL을 변환한다.

$string = auto_link($string, 'url');

 -------------------------------------------------------------  

     $string  오직 이메일 주소를 변환한다.

$string = auto_link($string, 'email');

 -------------------------------------------------------------------

새로운 윈도우에서 보이게 되는 링크들인지 아닌지 결정한다.

     $string = auto_link($string, 'both', TRUE);

url_title()

prep_url()

함수에 URL 문자열을 넘기는 것.

redirect()


참고 사이트 

http://sudal2.tistory.com/15

생활코딩

http://opentutorials.org/module/327/3836



반응형