XE 내의 모듈/애드온/플러그인등의 각 개별 요소들이 공통적으로 사용하는 라이브러리들의 모읍니다.
기본 배포 버전은 아래와 같은 클래스를 가지고 있습니다.
참조 : 도표로된 클래스 분류 체계
Request Argument에 대한 정리 및 언어팩/DB 정보등을 관리합니다. XE내에서 거의 모든 변수가 Context class를 통해서 관리됩니다.
./classes/context/Context.class.php
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 파일 (추천)
모듈객체를 받아서 Response Method에 따라(HTML, XMLRPC) 결과 document를 생성하고 출력을 담당하는 클래스
XE의 에디터컴포넌트의 상위 클래스. 에디터 컴포넌트 개별 객체에 대해 설정값을 세팅하는 기능만 있음
파일과 디렉토리를 생성/삭제하는 function을 모아 놓은 class 파일
접미사로 Handler인 class의 상위 class.
다른 서버에 HTTP Request를 전송하고 result를 받아오는 클래스
./classes/httprequest/XEHttpRequest.class.php
이메일 전송을 담당하는 클래스
./classes/mail/Mail.class.php
요청된 module을 찾아서 객체 생성/ 실행을 하는데 관련된 class file들이 있음
- ModuleHandler : request arguments를 이용하여 필요한 module을 찾아 객체 생성후 실행을 하고 return
- ModuleObject : 모든 module의 상위 객체. 모듈 기본 정보 및 레이아웃/템플릿의 관리 및 실행에 관련
XE의 가장 상위 class file.
에러코드와 메세지, 추가변수에 대한 set/get/add를 담당.
XE내에서 에러코드와 에러메세지를 return시 object class를 생성하여 사용
JS/CSS파일등을 특정한 규칙에 맞게 하나의 파일로 만들어서 client에서 가져갈 수 있도록 성능향상을 지원하는 클래스
./classes/opimizer/Optimizer.class.php
페이지 네비게이션을 담당하는 class files. 전체갯수/페이지수/목록수등을 인자로 받고 PageHandler::getNextPage()를 이용하여 페이징 표시 가능
XE의 템플릿 엔진. 템플릿 파일의 컴파일 및 캐싱, 실행을 담당
XE의 widget의 상위 class files. 특정 widget의 객체를 return하고 실행을 담당
XML의 파싱 및 XE내의 xml query, xml js filter의 parser등이 있음