오늘은 모듈 안의 각파일들의 역할에 대해서 이야기를 좀 해보겠습니다
modules/모듈명/ 디렉토리에 들어가보면 우선 php파일들을 발견하실 수 있습니다.
우선 기본 class파일이 있습니다.
모듈명.class.php : 해당 모듈의 기본이 되는 클래스. ModuleObject를 상속하고 있다. 모듈의 다른 클래스들은 이 기본 클래스를 상속 받아서 구현한다. 모듈이 인스톨될 때, 업데이트 될 때, 캐시 재생성할 때의 해야할 동작들을 정의하는 함수들을 포함한다.
그 외는 이제 MVC모델에서와 같이 Model, View, Controller에 해당하는 클래스들이 있는데요.
zeroboardXE 에서는 전통적인 MVC를 그대로 따르고 있다고는 이야기하기 힘들지만, 대략적으로 model이 데이터를 다루는 작업(주로 디비에서 데이터를 가져오는 함수들), controller에서는 데이터를 집어넣는 부분(디비에 insert나 update를 하는 작업), view에서는 사용자에게 보여지는 화면을 구성하기 위해 model에서 data를 가져와서 template을 compile하는 작업을 맡고 있습니다.
모듈명.admin.view.php 등, 중간에 admin이 들어간 녀석들은 관리자 화면과 주로 관련이 되어있는 클래스들입니다. 관리자 화면 뷰를 만들어주거나, 관리자가 할 수 있는 control에 대한 정의를 하고 있습니다.
우선 모듈이 만들어지기 위해 필요한 파일들은
모듈명.class.php : moduleInstall, checkUpdate함수를 구현해주어야 합니다.
기본적인 데이터를 포함하고 있는 conf/info.xml 입니다.
그럼 test라는 간단한 모듈을 통해 모듈이 생성되는 것 까지를 일단 보여드리겠습니다.
modules/test디렉토리 아래 test.class.php와 conf/info.xml을 다음과 같이 만들어보았습니다.
test.class.php
conf/info.xml
이렇게 하고 나면, admin 페이지의 모듈란에서 test 모듈을 찾을 수 있습니다.
이제 다음강좌에서는 실제 디비를 만들고 연동하는 부분을 이야기해보도록 하겠습니다.