https://web.archive.org/web/20161130043059/http://www.xeschool.com/xe/xenote_module_book_about

BOOK Module

프론트 엔드 뷰(View) 구현을 위한 BOOK 모듈 만들기 예제

모듈의 기본 이해 과정은, 모듈이 폼을 다루는 방법에 대하여 예제 모듈의 백엔드(back-end) 프로그램을 직접 만들어 보면서 모델-뷰-컨트롤러의 동작 방식과 진행 과정을 살펴본 내용이다. 프론트 엔드(front-end) 프로그램은 관리자가 아닌 사용자(User) 측면에서 데이터 정보의 요청과 입력/수정/삭제 등을 처리하는 메소드 함수의 모음과 액션을 말한다. 프론트 엔드 뷰(View)는 그 중에서도 사용자의 요청에 대하여 직접적으로 응답하고, 의사소통하며, 데이터 정보를 최종적으로 출력해 주는 웹페이지를 만든다.

예제(example) 모듈의 어드민(Admin) MVC는 XE코어의 다른 형제 모듈의 지원을 받아 작성되었다...^^ 가장 중요한 일은 모듈의 고유 식별 번호($module_srl)와 모듈의 아이디($mid)를 만들고 관리하는 일인데 이것은 module의 기능을 확장하여 module이 관리하는 xe_modules 테이블에 등록하는 것이다. module이 하는 일은 이것뿐만 아니다. 모듈(mid)이 사용할 레이아웃은 무엇인지, 모바일 설정은 어떻게 할 것인지, 모듈(mid)의 위아래에 들어갈 내용은 무엇인지와 같은 여러가지 설정에 대해 등록하고 관리하는 일도 한다. 이런 것들이 가능한 것은 자신이 사용하는 데이터베이스(DB) 테이블이 있기 때문이다.

XE코어의 모듈들은 목표한 기능적인 동작을 위해 대부분 자신의 테이블을 만들고 관리하고 있다. 예를 들어 글을 등록하고 관리하는 기능은 document 모듈이, 첨부파일의 저장과 관리는 file 모듈이, 회원관리는 member 모듈이 담당한다. 모듈들은 혼자서 일하지 않는다. 새로운 글을 1개 등록하려 치면 board 모듈과 document 모듈, file 모듈, editor 모듈, member 모듈, point 모듈 등 무수히 많은 모듈들이 자신의 테이블에 데이터의 조각들을 서로 나누어 정리하고 입력시킨다. 만약 댓글이 달리면 comment 모듈도 자신의 테이블을 들고 온다...^^

단, 게시판(Board) 모듈은 자신의 테이블이 없다. 데이터를 저장하고 첨부 파일과 댓들 등을 관리해 주는 형제 모듈의 도움을 받고 있기 때문이다. 자신은 등록 과정과 정보의 열람 방법만 관리할 뿐이다. 이렇게 모듈은 자신의 기능적인 목적에 따라 테이블을 갖을 수도 있고, 없을 수도 있는데 다음 과정에서 예제로 만들어 볼 BOOK 모듈은 간단한 DB 테이블을 만들고 관리하는 기능에 대해 살펴볼 것이다. 추가할 테이블(books)은 무척 단순하다. 이전 과정에서 "폼(form)과 DB"의 예제로 사용했던 폼을 모듈로 구현해 보는 예제이다. 만약 게시판과 같이 글을 작성하고 첨부파일을 받고 에디터를 활용하는 모듈, 즉 그러한 기능과 유사한 프론트 엔드 프로그램을 계획한다면 가장 훌륭한 예제는 게시판(Board) 모듈이다.

학습을 위한 BOOK 모듈 예제는 "도서관리"를 위한 기능을 MVC 패턴으로 구현한다. 입력 내용은 자신의 테이블(xe_books)을 이용하기 때문에 xe_documents 테이블에 저장되지 않으며, 에디터 모듈도 확장하지 않는다. 책의 정보를 간단히 입력/수정/삭제할 수 있는 "도서관리 대장"이다.

Copyright ©2016 XE SCHOOL All rights reserved.

웹 관련 도서

모듈 설정 파일

테이블 설치와 언어팩

백엔드 MVC

목록(List)과 모델

보기(View)와 모델

입력(Insert/Update) 컨트롤러