CI 묻고 답하기

제목 지금 순간에 사이트를 만든다면 3버전이 좋을까요? 4버전이 좋을까요?
카테고리 CI 2, 3
글쓴이 carion 작성시각 2019/12/04 15:56:57
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 17439   RSS

앞으로를 생각하면 4버전으로 하는게 좋을거라 생각되지만

3버전은 메뉴얼만 읽어보고 게시판 검색만 조금하면 기본적인 것은 다 되던데

4버전은 메뉴얼을 읽어도 장님이더군요..ㅠㅠ 오토로딩도 어떻게하는지 이해가 안되고...

폼검증도 메뉴얼대로 했다고 생각했는데 자라 안되더군요..ㅠㅠ

 

helper(['form', 'url']);
$validation =  \Config\Services::validation();

위와 같이 해주고

$validation->setRule()로 조건 설정하고
$this->validate([])로 체크하는데 룰에 어긋나던 맞던 항상 bool값만 나오더군요

 

이런 것 외에도 많은게 바뀐거 같던데 아직 실력이 낮은 입장에서는 3버전으로 작성하는게 좋을까요?

어짜피 4버전 정식으로 나오고 그러면 4버전을 사용하고 싶을텐데 이것 저것 많이 바뀐거 같은데 업그레이드 하려면 어짜피 같은 고통을 느끼고 더많은 수고를 하게 되니 힘들더라도 4버전으로 적용을 해야될까요?

 

어짜피 급하게 할 것도 아니고 취미로 하는거라 시간이나 다른 제약은 없습니다. 무엇이 좋을까요?

 

그리고 4버전에는

$this->output->enable_profiler(TRUE);

프로파일러 같은 기능은 없는 건가요??? 개발 때 유용하게 사용했었는데..

 다음글 CI4에서 MsSQL 사용하려는데 어렵네요. (7)
 이전글 컨트롤러 인식을 못합니다. (2)

댓글

벤지 / 2019/12/04 16:13:19 / 추천 0

3일째 보고 있는 사견입니다.

- 라라벨의 작은 버젼?  ( 라라벨 기본설치 버젼과 비교하면 메모리 1/2, 속도는 최소 2 배 빠른것 같습니다. core 차이점 ... )

- 꼭 필요한 핵심만 있는 버젼? 

- Model 단도 Laravel 과 거의 같은 느낌의 코딩 방식 ( MVC 의 지향 방식인지는 파악 못했습니다 )

 

CI4 자료는 너무나 없지만, 개인적으로 하신다면 4 버젼이 좋을듯합니다. 

Profile 부분은 어떤쪽 때문에 필요하신지 모르겠지만, system 쪽을 대충보니 deprecated 된것 같습니다.

디버깅 목적이시라면

http://pneskin2.nekoget.com/codeigniter/4/user_guide/general/debugging.html#the-debug-toolbar

 결과 화면는 

 

변종원(웅파) / 2019/12/04 16:24:30 / 추천 0
취미라면 4 추천합니다. 업무로 무언가 개발하실거라면 3이 당분간 계속 사용될 것이라 3을 공부하고 4는 예비로 공부하시는 것을 추천하구요.
carion / 2019/12/04 22:25:22 / 추천 0

벤지// 자세하게 댓글 달아주셔서 감사합니다.

댓글들 보니 4로 가야될거 같은데 메뉴얼을 봐도 까막눈이니...ㅠㅠ

그리고 디버깅 툴바가 있다니.. 몰랐었군요 ^^;

 

웅파//역시 4로 가는게 좋은거군요...  감사합니다

그나저나 기본기가 적어서(php 4버전일때 배워서) 이해가 어렵군요 ㅠㅠ

kaido / 2019/12/05 10:30:50 / 추천 0

CI4는 MVC 패턴에 충실한 타입은 아닌것으로 보여집니다.

모델 구성과 라우터 구성만 봐도 마이크로 서비스를 감안해둔 걸로 저는 생각 합니다.

 

가령 MVC 패턴에 충실 하다면 

모든 데이터는 모델을 거쳐와서 처리 해야한다는 원칙을 지켜야 합니다만

샘플 코드만 봐도  모델을 직접 호출 안하고 DI 형태로 따와서는 직접 서비스 형태로 넣어서 처리 합니다.

라우트에서 URI 컨트롤 및 여러가지 설정이 되는것만 봐도, 컨트롤러를 반드시 호출할 이유가 없어졌습니다.

 

감안해서 보면 현재 트랜드인 마이크로 개발형태를 염두해 둔것으로 보여집니다.

carion / 2019/12/05 11:38:51 / 추천 0

kaido//답변 감사합니다. 전에 마이크로 서비스에 대해 봤었는데 뭔가 1인 취미 개발자입장에서는 그리 와닫지 않더군요

뭐 여러명이서 협업해서 하는 곳에는 어떨지 모르겠지만요...

한가지도 재대로 못하는데^^; 괜히 머리만 더 아퍼지던... 그래서 그런지 ci4도 더욱 어려운거 같아요...ㅠㅠ

kaido / 2019/12/05 11:46:46 / 추천 0

아무래도 1인 개발은 빽을 만들고 프론트로 직접 작업 해야하니

MVC 패턴 조차도 손이 많이 간다고 생각이 듭니다

다만 기업들이 비용과 시간을 들여가면서 바꾸는데는 분명 이유가 있습니다.

이렇게 생각 하시면 편합니다.

코어를 만들고 나서 데이터값만 확인 되면, 뷰는 리액트 같은걸로 실어서 값만 받아서 따로 구현한다.

 

분리가 안되어있는 상태로 개발을 하면, CI 보다가 리액트 보다가 다시 CI 보다 리액트 보다가 반복...

한대승(불의회상) / 2019/12/05 11:54:50 / 추천 0

Profiler 는 Kint와 debug toolbar로 대체되었습니다.

http://ci4doc.cikorea.net/testing/debugging.html

참고하세요.

벤지 / 2019/12/05 12:23:05 / 추천 0

순수 버젼만 설치한후 ( CI4RC3 ) 개발 구현 방식은 크게 4가지로 파악 했습니다.

 

1. 기존 Controller 에서 Query 로 전부 처리 

2. Controller   <--->  Model 을 이용한 방식   :   http://ci4doc.cikorea.net/models/model.html#id5 

   - 참고 : 이전 4의 베타버젼에서 deleted 필드는 deprecated 되었고, $deletedField(DateTime) 에 정의로 대체  

3. Control + Model( 비지니스로직) 

4. 위의 2 번에 비지니스 로직은 PSR4로 설정해서 별도로 구현 ( Controller + Model + 비지니스로직 )  

 

즉, 마이크로서비스든 MVC 형태든 DI 방식이든, DI 구성으로 1~4번중에 구현을 하든

원하는 업무에 따라 골라써라?  라는 생각이 들었습니다.

개발자에게 유도리를 많이 주려고 한것 같은 생각