개발 Q&A

제목 코드이그나이터는 클래스 형태를 왜 도입한건가요?
카테고리 PHP
글쓴이 아리아리 작성시각 2018/08/08 14:38:04
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 9729   RSS

클래스 형태를 쓰는 이유가 다른 클래스에서도 사용할수 있도록 재활용하는 효과가 있잖아요

 

그런데 컨트롤러 끼리 서로 호출하는게 가능한건가요?

 

기본적으로는 class A   class B 가 있으면

 

B에서 A a = new A(); 한 후 a.  으로 메소드를 사용할수 있어야하잖아요

 

근데  A::get_instance(). 해도 접근할수도 없네요

 

이러면 솔직히 클래스 도입한 의미가 없지 않나요

사실상 펑션언어잖아요,

 

 다음글 성능개선 nGrinder 사용해봤어요! 사용해보신분 질... (1)
 이전글 Xdebug 설치하다 안돼서 지웠습니다 근데 phpin... (1)

댓글

kaido / 2018/08/08 15:09:45 / 추천 0

컨트롤러 클래스 상속해서 호출 가능 합니다.

다만 권하고 있지는 않습니다.

포럼 찾아보시면 컨트롤러 끼리 상속 하는 방법이 나오긴 합니다.

 

이유인즉 CI에서는 인잭션주입 DI  를 load 클래스에서 제한을 두고 있습니다.

 

클래스 자체가 재사용율이 높은 클래스이면, 컨트롤러가 아닌 라이브러리에서 구현하시면 됩니다.

컨트롤러와 라이브러리, 헬퍼 등으로 분류한것에는 이유가 있습니다.

 

 

물론 다른 프레임워크처럼 DI 가 자유롭다면 컨트롤러 파일을 컨트롤러끼리 마구 불러들일수 있습니다.