TIP게시판

제목 CI 클래스, 헬퍼, 플러그인 개념비교
글쓴이 ci세상 작성시각 2009/08/06 12:19:28
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 20465   RSS

CI 한글메뉴얼 덕분에 하루에 한번씩은 반복해서 읽어보려고 하지만 분량이 많다는것을 새삼 느끼게 됩니다.^^
한글번역을 해주신 최용운님게 다시한번 감사드리면서 ~~

오늘은 CI에 나오는 클래스, 헬퍼, 플러그인의 차이점에 대하여 제 나름대로 비교를 해보았습니다.^^


1. 클래스와 헬퍼의 차이점이 무엇인가?
- 클래스는 객체지향적이며 헬퍼는 그렇지 않았다. 헬퍼는 단순히 기능적인 함수들을 모아둔곳

2. 플러그인과 헬퍼의 차이점은 무엇인가?
- 기능적인 함수의 역할을 하는것은 공통사항이고 차이점이라고 하면 함수를 한개 담으면 플러그인이요 여러개 담으면 헬퍼라는 차이

Q. CI에서 왜? 플러그인과 헬퍼는 통합되지 못하였는가?
=> 사용빈도 : 헬퍼는 자주 이용을 하는 개발자를 위해서 모아두었다면,, 플러그인은 반대로 자주사용되지 않는 부분을 정의해 두었다.

예) 자동차의 미션에 비유하면 스틱, 오토밋션을 어떻게 사용하는지는 헬퍼요 스틱출고차가 오토밋션으로 튜닝하는것은 플러그인이다^^

=> 코딩분량 : 헬퍼는 함수들의 여러 기능적 조각모음을 집합시켜두기 때문에 소스의 분량이 과도하게 많아질경우 헬퍼를 플러그인을 따로 담아줄 수가 있다.


입문생이 메뉴얼을 보고서 개념이해하는 부분이 맞는지 공유해 봅니다.^^
 

 다음글 CI 해부하기 (2)
 이전글 [AR] get_where , _cache 사용시 주의... (3)

댓글

마냐 / 2009/08/06 17:51:27 / 추천 0

라이브러리, 헬퍼, 플러그인
정확한 개념 잡기가 어렵다는...

라이브러리와 헬퍼의 차이는 객체지향의 차이.
플러그인이 좀 헷갈리네요.

ci세상 / 2009/08/06 22:05:57 / 추천 0
라이브러리(클래스) - 객체지향
헬퍼 - 함수 (n개모음)
플러그인 - 함수 (1개)

이렇게 다시 봐도 헬퍼, 플러그인~~ 헤깔리네요^^
변종원(웅파) / 2009/08/08 08:50:16 / 추천 0
헬퍼는 특정한 한 분류의 일만 담당하며 다른 헬퍼에 의존적이지 않다.

라이브러리, 헬퍼는 ci core이고 플러그인은 core가 아니다.
- 플러그인의 사용은 표준php함수처럼 사용

$this->load->plugin('captcha');

$cap = create_captcha(array(
	'word'			=> mt_rand(10274536, 90853127),
	'img_path'		=> './'.$this->config->item('captcha_path', 'tank_auth'),
	'img_url'		=> base_url().$this->config->item('captcha_path', 'tank_auth'),
	'font_path'		=> './'.$this->config->item('captcha_fonts_path', 'tank_auth'),
	'font_size'		=> $this->config->item('captcha_font_size', 'tank_auth'),
	'img_width'		=> $this->config->item('captcha_width', 'tank_auth'),
	'img_height'	=> $this->config->item('captcha_height', 'tank_auth'),
	'show_grid'		=> $this->config->item('captcha_grid', 'tank_auth'),
	'expiration'	=> $this->config->item('captcha_expire', 'tank_auth'),
));
라이브러리나 헬퍼는 $this->라이브러리명->함수()로 사용. 헬퍼는 플러그인과 같이 일반함수 쓰는 것처럼 사용
ci세상 / 2009/08/08 10:30:16 / 추천 0
core와, 사용의 차이를 보니 좀더 명확해 졌습니다. 감사합니다.^^