CI 묻고 답하기

제목 초보 개발자 질문합니다. include 관련
카테고리 CI 2, 3
글쓴이 낭만집사 작성시각 2018/12/26 15:32:24
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 12570   RSS

안녕하세요.

맨날 날코딩만 하다가 이제 프레임워크로 코드이그나이터 사용해보려는 초보 개발자입니다.

이곳에서 영상도 찾아보고 글도 읽으며 많이 배우고있습니다.

 

view 파일에서 include 사용하는법이 궁금합니다.

작업하던 것을 날코딩에서 코드이그나이터로 옮기려고합니다.

 

공통으로 쓰는 top,bottom 이외에 view 파일

중간중간 include를 써서 leftmunu 등.. 많이 사용하고있어서. 이부분 그대로 혹시 쓸수 있나해서 질문남겨봅니다.

 

top,bottom은 include하지않고 controller에서 

$this->load->view('/top');
$this->load->view('/main',$data);
$this->load->view('/bottom');

이런식으로 썻는데요 저 main파일 중간에 left_menu.php 이런 파일을 include해서 사용하고있습니다.

어떻게해야하는지 궁금합니다.

 

감사합니다.

 다음글 모델에서 1차쿼리 결과 값을 이후 2차 함수의 쿼리 함... (2)
 이전글 페이징네이션 질문 ($config['use_page_n... (6)

댓글

변종원(웅파) / 2018/12/26 15:36:41 / 추천 0

똑같이 load->view 해서 쓰시면 됩니다.

top, left, main, bottom 순

아니면 레이아웃을 정의해주는 라이브러리가 있습니다. 그걸 사용하시는 것도 방법이구요. layout 입니다.

낭만집사 / 2018/12/26 15:46:39 / 추천 0

네 웅파님 감사합니다.

그런데 다른사람이 해놓은 소스를 본게 있는데요

<section id="container">
   <!--header start-->
   <header class="header white-bg">
                     <?php include('include/navbar.php'); ?>
   </header>
   <!--header end-->
   <!--sidebar start-->
   <aside>
      <?php if($this->session->userdata('is_admin_login')): ?>
         <?php include('include/admin_sidebar.php'); ?>
      <?php else: ?>
         <?php include('include/sidebar.php'); ?>
      <?php endif; ?>
   </aside>
   <!--sidebar end-->
   <!--main content start-->
   <section id="main-content">
      <div class="content-wrapper" style="min-height: 394px; padding:15px;">
         <!-- page start-->
         <?php $this->load->view($view);?>
         <!-- page end-->
      </div>
   </section>
   <!--main content end-->
   <!--footer start-->
   <footer class="main-footer">
      <strong>Copyright © 2018 <a href="#">Codeglamour</a></strong> All rights
      reserved.
   </footer>
   <!--footer end-->
</section>

layout.php 라는 view파일입니다.

view에서 이렇게 바로 기존 날코딩처럼 사용하는데 이렇게는 불가능한가요?? 

autoload 한거나 컨트롤러에서 라이브러리 호출한게 아무것도 없는데

view파일 이름이 layout인거 보니 이게 라이브러리 사용해서 한것인지.. 

소스보고 따라해보려는데. 도통 모르겠어서요.

변종원(웅파) / 2018/12/26 16:07:38 / 추천 0

그게 아마 레이아웃 라이브러리일겁니다. 위와 같이 쓰셔도 상관없습니다.

다만 관리포인트가 늘어날 뿐이죠. 뷰가 여러 디렉토리에 나뉘어 존재할테니까요.

낭만집사 / 2018/12/26 16:21:43 / 추천 0
네 웅파님 감사합니다!!!
kaido / 2018/12/26 17:46:44 / 추천 0

include 사용해도 상관은 없습니다만, 가급적 사용하지 말라는 권고사항은 있습니다.

 

include 사용안해도 view 으로 해결되거나

library 이나 helper 으로 해결 될거 같으면 include는 사용을 자제 하라고 메뉴얼에도 나와있습니다.

 

다만 위에 어떤것도 include 아니면 해결 안되는 케이스가 있다면야 사용할 수밖에 없습니다만, 애초에 그런 케이스 자체가 좋은 코딩이라고는 보기 어렵습니다. ㅎㅎ