TIP게시판

제목 CI 2 VS CI3 비교분석 (갱신 15.3.18)
글쓴이 ci세상 작성시각 2015/03/18 11:52:22
댓글 : 10 추천 : 0 스크랩 : 0 조회수 : 17889   RSS
CI3이 많이 변경된듯 해서 비교분석
http://www.codeigniter.com/userguide3/changelog.html

License
CodeIgniter has been relicensed with the MIT License, eliminating its old proprietary licensing.
=> 라이센스는 이제부터 MIT / 라이센스 txt 파일도 예전보다 그렇게 길지 않고 간단명료해진것이 특징
update : 15.3.18

General Changes
PHP 5.1.6 is no longer supported. CodeIgniter now requires PHP 5.2.4 and recommends PHP 5.4+ or newer to be used.
=> php버젼 5.1.6 버젼을 이제 지원안하는 것은 중요한 내용같습니다. php버젼을 부득이하게 변경이 안되는 서버환경은 지원안되는 함수를 찾아서 대체해야 하는것 같습니다. 참고로 apmsetup7버젼을 보니 5.2.12라서 3은 사용이 가능하겠더라고요
update : 15.3.18

Changed filenaming convention (class file names now must be Ucfirst and everything else in lowercase).
=> 3부터는 컨트롤러 파일명을 대문자로 무조건 시작해야 하는데요 2.x대는 소문자로 시작되었습니다. 클래스명은 대소문자 구분이 없고요, 2.x대 하시는 분이 3.x 하시면 이것부터 혼동되시겠네요
update : 15.3.18


Changed the default database driver to ‘mysqli’ (the old ‘mysql’ driver is DEPRECATED).
=> application/config/database.php 기본 드라이버에서 구분이 보입니다.
ci2 : mysql / ci3 : mysqli 로 표기가 되어 있고 pconnect 도 기본 FALSE 상태입니다.
개발에서 DEPRECATED 뜻은 가급적 사용을 권장하지 않는다의 뜻이기에 mysql을 사용못하는것은 아닙니다.
update : 15.3.18


$_SERVER['CI_ENV'] can now be set to control the ENVIRONMENT constant.
=> 라이브 / 테스트 / 로컬 개발시 응용할 수 있는 방법입니다. 
참조 : http://avenir.ro/codeigniter-tutorials/step-2-set-environments/
update : 15.3.18

.htaccess에서 다음과 같이 설정
RewriteEngine On
SetEnvIf Host www.yoursite.tld$ CI_ENV=production
SetEnvIf Host test.yoursite.tld$ CI_ENV=testing
SetEnvIf Host localhost$ CI_ENV=development

index.php에서 다음과 같이 세팅
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');

or

if(! defined('ENVIRONMENT') )
{
  $domain = strtolower($_SERVER['HTTP_HOST']);
  switch($domain) {
    case 'www.yoursite.tld' :
      define('ENVIRONMENT', 'production');
    break;
    case 'test.yoursite.tld' :
      define('ENVIRONMENT', 'testing');
    break;
    default :
      define('ENVIRONMENT', 'development');
    break;
  }
}

디렉토리별 구조를
application
-config
- -development
- - -config.php
- - -database.php
- - -routes.php
- -production
- -testing
system
index.php



ps / 변경로그에 대하여 순차적으로 분석된 내용을 올릴 예정인데요 참여하실 분은 댓글로 남겨주시면 본문에 갱신하겠습니다.^^
 
 다음글 CI3.0 랭귀지 팩 (4)
 이전글 유용한 PHP라이브러리 와 윈도우용 php extent... (1)

댓글

한대승(불의회상) / 2015/03/18 12:45:38 / 추천 0
좋은 정보 감사 합니다.
변종원(웅파) / 2015/03/18 19:49:45 / 추천 0
yes
Siam / 2015/03/20 16:19:02 / 추천 0
좋은정보 감사합니다!
현재 2.x 대로 공부중인데 얼른 3.x로 갈아타서 공부하는게 나을까요?
ci세상 / 2015/03/20 16:45:04 / 추천 0
Siam@저는 구버젼(안정화) 부터 배우는 편인데요 그 이유는 검색 자료가 많기 때문입니다.
한대승(불의회상) / 2015/03/20 17:11:06 / 추천 0
오... 아랫 부분은 꿀팁이네요. ^^
RewriteEngine On
SetEnvIf Host http://www.yoursite.tld$ CI_ENV=production
SetEnvIf Host test.yoursite.tld$ CI_ENV=testing
SetEnvIf Host localhost$ CI_ENV=development

index.php에서 다음과 같이 세팅
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
Dexter / 2015/03/26 14:39:51 / 추천 0
모험삼아 3.x 버젼 써보고 있습니다...
2.x때 만들었던거 가져다 쓰면서 대문자 규칙때문에 헷갈렸던 기억이 나네요...

" 도무지 잘못한게 없는데 왜이러지??? " 이러면서 ㅋㅋㅋㅋㅋ

좋은 정보 감사합니다.
Dexter / 2015/03/26 14:44:06 / 추천 0
참!! 기억나는  바뀐점중에 하나가
error 페이지가 view로 들어갔네요...
또한 cli용과 html용이 따로 분리되어 있습니다...
http://www.codeigniter.com/userguide3/general/errors.html
참고하세요....
니삼 / 2015/03/29 04:54:39 / 추천 0
저렇게 이용해서 환경 바꾸는건 유용한 테크닉 방법이네요. 다른곳에서도 활용 할 수 있겠어요
아스초코 / 2015/04/01 14:36:52 / 추천 0
안그래도 궁금했는데 좋은정보 완전 감사합니다!
무궁화영토 / 2015/04/08 11:04:13 / 추천 0
yes