1. classes 디렉토리

 ./classes

XE 내의 모듈/애드온/플러그인등의 각 개별 요소들이 공통적으로 사용하는 라이브러리들의 모읍니다.

기본 배포 버전은 아래와 같은 클래스를 가지고 있습니다.

참조 : 도표로된 클래스 분류 체계

 

./classes/context

Request Argument에 대한 정리 및 언어팩/DB 정보등을 관리합니다. XE내에서 거의 모든 변수가 Context class를 통해서 관리됩니다.

./classes/context/Context.class.php

 

./classes/db

DB Handling을 위한 class 파일들이 위치함

./classes/db/DB.class.php : 모든 DB handling class의 상위 class. 공통 인터페이스를 가지고 있으며 설정된 DB에 해당하는 객체 생성
./classes/db/DBCubrid.class.php : cubrid를 지원하는 class 파일. ORDBMS인 Cubrid를 관계형DB 스타일로 이용하는 실험적 단계임.
./classes/db/DBMysql.class.php : MySQL을 MyIsam방식으로 사용할 수 있도록 하는 class 파일 (transaction 미지원)
./classes/db/DBMysql_innodb.class.php : MySQL을 innoDB로 사용할 수 있도록 하는 class 파일 (transaction 지원)
./classes/db/DBPostgresql.class.php : Postgresql을 지원하는 class 파일
./classes/db/DBSqlite2.class.php : sqlite2를 지원하는 class 파일
./classes/db/DBSqlite3_pdo.class.php : php의 PDO를 이용하여 sqlite3를 지원하는 class 파일 (추천)

 

./classes/display

모듈객체를 받아서 Response Method에 따라(HTML, XMLRPC) 결과 document를 생성하고 출력을 담당하는 클래스

./classes/display/DisplayHandler.class.php

 

./classes/editor

XE의 에디터컴포넌트의 상위 클래스. 에디터 컴포넌트 개별 객체에 대해 설정값을 세팅하는 기능만 있음

./classes/editor/EditorHandler.class.php

 

./classes/file

파일과 디렉토리를 생성/삭제하는 function을 모아 놓은 class 파일

./classes/file/FileHandler.class.php

 

./classes/handler

접미사로 Handler인 class의 상위 class.

./classes/handler/Handler.class.php

 

./classes/httprequest

다른 서버에 HTTP Request를 전송하고 result를 받아오는 클래스

./classes/httprequest/XEHttpRequest.class.php

 

./classes/mail

이메일 전송을 담당하는 클래스

./classes/mail/Mail.class.php

 

./classes/module

요청된 module을 찾아서 객체 생성/ 실행을 하는데 관련된 class file들이 있음
- ModuleHandler : request arguments를 이용하여 필요한 module을 찾아 객체 생성후 실행을 하고 return
- ModuleObject : 모든 module의 상위 객체. 모듈 기본 정보 및 레이아웃/템플릿의 관리 및 실행에 관련

./classes/module/ModuleHandler.class.php
./classes/module/ModuleObject.class.php

 

./classes/object

XE의 가장 상위 class file.
에러코드와 메세지, 추가변수에 대한 set/get/add를 담당.
XE내에서 에러코드와 에러메세지를 return시 object class를 생성하여 사용

./classes/object/Object.class.php

 

./classes/optimizer

JS/CSS파일등을 특정한 규칙에 맞게 하나의 파일로 만들어서 client에서 가져갈 수 있도록 성능향상을 지원하는 클래스

./classes/opimizer/Optimizer.class.php

 

./classes/page

페이지 네비게이션을 담당하는 class files. 전체갯수/페이지수/목록수등을 인자로 받고 PageHandler::getNextPage()를 이용하여 페이징 표시 가능

./classes/page/PageHandler.class.php

 

.classes/template

XE의 템플릿 엔진. 템플릿 파일의 컴파일 및 캐싱, 실행을 담당

./classes/template/TemplateHandler.class.php

 

./classes/widget

XE의 widget의 상위 class files. 특정 widget의 객체를 return하고 실행을 담당

./classes/widget/WidgetHandler.class.php

 

./classes/xml

XML의 파싱 및 XE내의 xml query, xml js filter의 parser등이 있음

./classes/xml/XmlParser.class.php : xml 파싱
./classes/xml/XmlJsFilter.class.php : xml js filter의 컴파일 및 실행, 캐싱
./classes/xml/XmlQueryParser.class.php : xml query의 컴파일 및 실행, 캐싱