자주 쓰는 코어 클래스
서드파티 개발에서 자주 쓰는 코어 클래스·함수를 추려 정리합니다. 전체 명세가 아니라 "무엇을 어디서 찾는가"의 지도입니다. 프레임워크 클래스는 Zittme\Framework\ 네임스페이스에 있습니다 (Rhymix\Framework\ 도 호환).
Context: 요청과 화면 사이
$value = Context::get('key'); // 요청 변수·설정값 읽기
Context::set('items', $list); // 템플릿으로 값 넘기기
Context::get('is_logged'); // 로그인 여부
Context::get('logged_info'); // 로그인 회원 정보
Context::setBrowserTitle('제목');
Context::addBodyClass('my-class');
Context::loadLang('modules/foo/lang');주의: Context::set() 은 같은 이름의 요청 변수를 덮어씁니다. proc 액션의 폼 값은 $_POST 직접 읽기가 안전합니다.
DB
$output = executeQuery('모듈.쿼리명', $args); // 단건 성격
$output = executeQueryArray('모듈.쿼리명', $args); // 결과 항상 배열
$srl = getNextSequence(); // 고유 번호 발급$output->toBool() 로 성공을 확인하고, 실패 시 $output 을 그대로 반환하면 오류 메시지가 전달됩니다. 자세한 것은 쿼리 XML.
모듈 정보
ModuleModel::getModuleInfoByMid($mid); // mid의 인스턴스 정보
ModuleModel::isIDExists($mid); // mid 중복 확인
ModuleModel::getModuleConfig('모듈명'); // 모듈 전역 설정
getController('module')->insertModuleConfig('모듈명', $config); // 설정 저장
ModuleModel::loadSkinInfo($path, $skin); // 스킨 메타데이터 (responsive 포함)회원
MemberModel::getMemberInfoByMemberSrl($member_srl);
MemberModel::getGroups(); // 회원 그룹 목록
$logged_info = Context::get('logged_info');
$logged_info->is_admin === 'Y'; // 최고관리자 여부
$logged_info->group_list; // 소속 그룹 (키 = group_srl)캐시: Zittme\Framework\Cache
use Zittme\Framework\Cache;
$data = Cache::get('mykey');
Cache::set('mykey', $data, 300); // 300초
Cache::delete('mykey');
Cache::clearGroup('모듈명'); // 그룹 단위 비우기무거운 조회는 캐시하되, 데이터를 바꾸는 액션에서 관련 캐시를 지우는 것을 잊지 마세요.
파일: Zittme\Framework\Storage
use Zittme\Framework\Storage;
Storage::exists($path);
Storage::createDirectory($path);
Storage::move($from, $to);
Storage::delete($path);
Storage::isDirectory($path);경로 상수: RX_BASEDIR(설치 루트), RX_BASEURL, RX_TIME(요청 시각). 파일은 files/ 아래 모듈별 폴더에 두는 것이 관례입니다.
메일: Zittme\Framework\MailTemplate
코어 공통 메일 틀입니다. 사이트 이름·주소·강조색을 설정에서 읽어 일관된 겉모습을 만들어 줍니다.
use Zittme\Framework\MailTemplate;
$body = MailTemplate::wrap('제목', $content_html);
$table = MailTemplate::infoTable(['항목' => '값']);
$button = MailTemplate::button('확인하기', $url);자주 쓰는 전역 함수
| 함수 | 용도 |
|---|---|
getUrl(...) / getNotEncodedUrl(...) | URL 생성 (인코딩 여부 차이) |
getNotEncodedFullUrl(...) | 도메인 포함 전체 URL |
lang('키') | 언어 문자열 |
escape($str) | HTML 이스케이프 |
zdate($ymdhis, 'Y-m-d') | YYYYMMDDHHIISS 문자열 포맷 |
getNextSequence() | 고유 번호 |
toBool($val) | Y/N 등 관용 표기의 불리언 변환 |
isCrawler() | 검색봇 여부 |
실존 확인 습관
여기 없는 API가 필요하면 코어 소스에서 실제 존재를 확인한 뒤 쓰세요. 비슷한 이름을 추측해서 호출하는 것이 서드파티 오류의 큰 원인입니다. 가장 빠른 방법은 코어 모듈(board·member·document)에서 같은 일을 하는 코드를 찾아 따라 하는 것입니다.