本文へスキップ
ドキュメント

開発者ガイド

よく使うコアクラス

サードパーティ開発でよく使うコアクラス・関数を厳選してまとめます。完全な仕様ではなく、「何をどこで探すか」の地図です。フレームワーククラスは 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('key')言語文字列
escape($str)HTML エスケープ
zdate($ymdhis, 'Y-m-d')YYYYMMDDHHIISS 文字列のフォーマット
getNextSequence()固有番号
toBool($val)Y/N などの慣用表記をブール値に変換
isCrawler()検索ボットかどうか

実在確認の習慣

ここにない API が必要な場合は、コアのソースで実際に存在することを確認してから使ってください。似た名前を推測して呼び出すことが、サードパーティのエラーの大きな原因です。最も早い方法は、コアモジュール(board・member・document)で同じ処理をしているコードを探して真似ることです。