CI 묻고 답하기

제목 중복 코드 리팩토링 문의
카테고리 CI 2, 3
글쓴이 이시태 작성시각 2019/08/20 11:35:32
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 12192   RSS

A 라는 컨트롤러에

C 라는 라이브러리 (자체 개발) 를

 

1천줄 가량 되는 각 함수마다 불러오는데요.

 

이걸 함수마다 불러오는게 아닌

 

모델 불러오는것 마냥 한번만 상단에 선언해주는 방법이 없을까요?

 

첨부파일 처럼

 

$array 배열에 담은 변수들은 모두 함수 내에 불러와야 하는 것들입니다.

 

 

 

 다음글 페이지 번호 처리를 하기 위해서는 좀 쉬운 방법이 없을... (4)
 이전글 다른 컨트롤러의 함수를 이용 하고 싶습니다. (6)

댓글

배강민 / 2019/08/20 11:46:06 / 추천 1

방법은 여러가지가 있겠지만,

가장 간단히는 생성자에서 실행해서 멤버변수나 const나 static 등에 넣어두고 사용하는거지 않을까 싶네요

kaido / 2019/08/20 11:50:16 / 추천 1

무엇을 원하시는지는 잘 모르겠으나, 패턴이 반복되는 코드를 넣기 싫다는 것인가요?

매번 사용할것 같으면 라이브러리에서 떼어서 코어확장에 넣고 메소드 호출해서 사용하는 방법도 있습니다.

아니면 팩토리패턴 형태로 바꿔서 오브젝트형태로 받아간다든지, 코드의 형태가 바뀌는건 있으나, 알아서 잘 맞춰주는 방법은 없습니다.

변종원(웅파) / 2019/08/20 12:08:15 / 추천 1

hook을 이용해서 상수로 선언하는 방법도 있습니다.

컨트롤러 construct 에서 $this->arrayValue 형태로 선언해서 사용하는 방법도 있구요

이시태 / 2019/08/20 13:13:20 / 추천 0

배강민님 //

아항 그렇게 하면 되겠네요 그런 간단한 방법을 흐흐 감사합니다.

 

kaido 님 //

네 맞습니다. 그렇게 하면 코드량이 전체적으로 줄어들어서 보기도 좋을 거 같아서도 ㅋ 답변 감사드립니다!!

 

변종원님 //

아 이런 방법도 있군요! 한번 시도 해 보겠습니다!

답변 감사합니다.