https://web.archive.org/web/20161129142700/http://www.xeschool.com/xe/xenote_bookmark_adminlist

BOOKMARK Module dispBookmarkAdminList

https://web.archive.org/web/20161129142700im_/http:/www.xeschool.com/xenote_page/images/module_mvc_dispBookmarkAdminList.jpg

1. 백엔드 뷰(View) 파일 작성

관리자 화면에서 동작할 dispBookmarkAdminList() 액션을 포함하는 뷰파일은 다음과 같다.

bookmark/bookmark.admin.view.php

제목 없는 데이터베이스

이전에 작성했던 example.admin.view.php 파일과의 차이점은 모델(Model) 파일을(bookmark.admin.model.php) 경유하지 않고 곧바로 XML 쿼리 언어(XML Query Language)로 사용되는 executeQueryArray() 메소드를 이용해 DB로부터 값을 조회하고 결과값을 얻어 사용하는 것이다. Array는 미리 정의된 배열값을 받는다.

executeQuery() 함수는 DB클래스(./classes/db/DB.classs.php)에서 정의하고 사용하는 DB::executeQuery()를 간단하게 호출하고 사용하는 별칭이다. 다음과 같이 작성하고 사용함으로써 지정한 모듈의 queries 디렉터리에 포함된 XML 쿼리를 사용하여 구문을 분석한 뒤에 데이터베이스의 종류에 따라 네이티브 SQL로 출력을 받고 실제 DB 데이터를 조회하거나 조작하는 것이다.

제목 없는 데이터베이스

위의 예문은 인자(argument)를 $args->name과 같이 맴버변수 형태의 매개변수로 만들어 함께 보내는데, 지정한 모듈의 queries 디렉터리에 포함하고 있는 getMemberInfo.xml 파일을 찾아 SQL문으로 변환하여 사용하라는 의미이다. (".쿼리ID")

제목 없는 데이터베이스

따라서 북마크 모듈의 queries 디렉터리에 포함하고 있는 getBookmarkAdminList.xml 파일을 찾아서 쿼리를 실행하고 그 결과값을 $output에 담아오면, 별도로 필요한 파라미터 값은 Context::set()을 이용하여 $output->data 변수에서 각각 찾아 정리하고, 나머지 전체적인 객체값은 $bookmark_list 변수(사용자가 사용할 변수)에 담아 템플릿에서 사용할 수 있도록 전달해 준다.

2. 쿼리 파일의 작성