CI 묻고 답하기

제목 1.7.3 버전으로 업그레이드 된다면 무엇을 고려해서 개발해야 하나요??
글쓴이 불꽃코딩 작성시각 2010/03/08 10:15:36
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 29449   RSS
현재 CI 의 버전이 1.7.2 인데요.

만약 1.7.3 이 나온다면 업그레이드할때 쉽게 하고싶은데요.
1. 이것을 고려하여 개발할때 어떤 파일들은 건들면 안되는지요?


2. snoopy 라는 공개용 클래스가 있는데 이것을 사용하려면 어느 폴더에 놓고 어떻게 가져다 쓰는건가요?
혹시 써보신분 있으면 간략히 설명좀 해주시면 감사하겠습니다.

날코딩할땐 아래와 같이 썼거든요...;
CI는 왠진 딴세상같아서 뭘 하려고 하면 감이 안와요 ^^;

include_once 'Snoopy.class.php';

$snoopy = new snoopy;

$snoopy->host = "sms.nate.com";
$snoopy->agent =	"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.0; .NET CLR 2.0.50727)";
$snoopy->fetch("http://sms.nate.com/nateon30/nateonsms.jsp?TICKET=".$userTicket."&ID=".$userID);

$snoopy->host = "sms.nate.com";
$snoopy->referer = "http://sms.nate.com/nateon2007/index.jsp";
$snoopy->cookies = $setCookies;

$snoopy->submit( "http://sms.nate.com/nateon2007/sms.jsp", $setParams);


 다음글 [초중급]config에서... (2)
 이전글 [초급]matchbox에 관한 질문 (2)

댓글

헛발이 / 2010/03/08 10:21:28 / 추천 0
system폴더만 바꿔치기 하거나 붙여 넣기로 그냥 덮어치기 하면 되고
Application만 따로 관리 하시면 되는걸로 알고 있어요...

즉 system은 ci의 코어라고 할수 있고.. application은 우리들이 만드는 공간이구요...

그래서 저 같은 경우에는

- public
- app
- sys1.7.2

이렇게 관리 하고 있어요... 그래서 혹시 버젼업이 되면

- public
- app
- sys1.7.2
- sys1.7.3

이렇게 해서 public안에 index.php의 system폴더만 변경해서 테스트 해 보고 혹시 문제가 되어 잘 안되면 바로 1.7.2로 다시 수정해서 사용하고 나중에 1.7.2가 필요 없어 지게 되면 그것만 삭제 하고 뭐 그런식으로 하려구요..
근데 그게 맞는 방법인지는 잘 모르겠어요... 그냥 제 방법이니... ^^;
헛발이 / 2010/03/08 10:31:50 / 추천 0
공개용 클래스 사용하시려면요... 예전과 같이 사용하시면 안되구요...안되는건 아니고 가능하면 ci에 마춰서 하시는게 편하잖아요...(멋도 있고...) 그러니 공개용클래스는 라이브러이나 플러그인에 넣고 사용하시는게 좋아요..
사용방법은 기존방식 탈피해서 ci방식으로 사용하시면 되구요....

1. 라이브러리에 넣으세요..
라이브러리 폴더는 system에도 있고 application에도 있을거에요...
가능하면 버젼업때 문제를 피하기 위해서 system의 라이브러리는 사용하지 마시구요..application의 라이브러리를 사용하세요.
그곳에 일단 Snoopy라는 폴더를 만드시구요.. 그곳에 소스를 넣으세요...

2. 클래스명 마추기..
그러면 가능하면 폴더명과 기본클래스가 있는 파일명과 기본클래스명을 동일 하게 마춰주는게 사용하기 편하지 않을까 해요..

3. 사용하기
콘트롤에서...
$this->load->library('snoopy');

$this->snoopy->host = "sms.nate.com";
$this->snoopy->agent =	"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.0; .NET CLR 2.0.50727)";
$this->snoopy->fetch("http://sms.nate.com/nateon30/nateonsms.jsp?TICKET=".$userTicket."&ID=".$userID);

$this->snoopy->host = "sms.nate.com";
$this->snoopy->referer = "http://sms.nate.com/nateon2007/index.jsp";
$this->snoopy->cookies = $setCookies;

$this->snoopy->submit( "http://sms.nate.com/nateon2007/sms.jsp", $setParams);
이렇게 사용하시면 될거에요..
저도 mPDF 할때 그렇게 했거든요...


플러그인으로 사용하실거면요..

1. 플러그인 폴더에 폴더를 만들고 해당 소스를 넣으세요...
이때도 가능하면 system을 사용하시지는 마시구요..

2. 그리고 콘트롤에서 기존방식과 마찮가지로 사용하세요...
$this->load->plugin('snoopy/snoopy.class');

$snoopy = new snoopy;

$snoopy->host = "sms.nate.com";
$snoopy->agent =	"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.0; .NET CLR 2.0.50727)";
$snoopy->fetch("http://sms.nate.com/nateon30/nateonsms.jsp?TICKET=".$userTicket."&ID=".$userID);

$snoopy->host = "sms.nate.com";
$snoopy->referer = "http://sms.nate.com/nateon2007/index.jsp";
$snoopy->cookies = $setCookies;

$snoopy->submit( "http://sms.nate.com/nateon2007/sms.jsp", $setParams);
별거 없죠? ㅋㅋ


맞나요? 고수님들?

헛발이 / 2010/03/08 11:01:00 / 추천 0
근데 snoopy이건 뭐하는거에요? 위의 소스로 보아 문자메시지 보내는거 같은데..
한국에서 핸폰 문자 보내는거 저렇게 하면 공자로 문자를 보낼 수 있나요?
불꽃코딩 / 2010/03/08 11:20:39 / 추천 0

헛발이님 감사합니다. ^^
http://hahakbs.dothost.co.kr/98  (이곳을 참고하세요)
snoopy 는 socket 통신을 쉽게 해주는 클래스입니다.
간혹, 호스팅서버에서 file_get_contents 를 제공하지 않아서 있으면 편해요

헛발이 / 2010/03/08 11:27:54 / 추천 0
아~ 금방 찾아 봤는데.. 그렇더군요 ^^;
근데 문자보내는게 궁굼한데요 ㅋㅋㅋ  네이트온의 뭔가를 이용하면 공짜로 보낼 수 있나요? ^^;
대답이 곤란하시면 seimo@nate.com으로 해 주셔도 되요 ㅋㅋ
변종원(웅파) / 2010/03/08 16:43:12 / 추천 0

헛발이님을 ci중급으로 임명합니다. (ㅎㅎ 농담이구요)
대박 답변입니다.

그리고 nate의 경우 skt를 이용하고 있으면 월 100건 무료문자 줍니다.
타 통신사라고 해도 한달에 10건 줍니다. 그거 이용해서 보내는 것 같네요.

변종원(웅파) / 2010/03/08 16:46:23 / 추천 0
아참. 정작 중요한 답변을...

헛발이님 말씀대로 완벽한(?) 업데이트를 위해서는 평상시에 system 폴더안의 내용은 건드리지 않는 것이 필요합니다. 만약 수정한 사항이 있다면 잘 기록을 해놓고 업데이트후에 적용을 하셔야 합니다.
패치를 만들어 놓으면 좋기는 한데.. ^^

되도록이면 코어는 건드리지 마시고 application/libraries에 코어를 확장하는 방식으로 사용하시면 됩니다.
헛발이 / 2010/03/08 17:47:52 / 추천 0
감사합니다.. ㅋㅋㅋ