Các lớp lõi thường dùng
Tổng hợp chọn lọc các lớp và hàm lõi hay dùng khi phát triển bên thứ ba. Đây không phải đặc tả đầy đủ mà là tấm bản đồ "tìm cái gì ở đâu". Các lớp framework nằm trong namespace Zittme\Framework\ (Rhymix\Framework\ cũng tương thích).
Context: giữa yêu cầu và màn hình
$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');Lưu ý: Context::set() ghi đè biến yêu cầu cùng tên. Với giá trị form của action proc, đọc trực tiếp $_POST sẽ an toàn hơn.
DB
$output = executeQuery('모듈.쿼리명', $args); // 단건 성격
$output = executeQueryArray('모듈.쿼리명', $args); // 결과 항상 배열
$srl = getNextSequence(); // 고유 번호 발급Kiểm tra thành công bằng $output->toBool(), khi thất bại chỉ cần trả về nguyên $output là thông báo lỗi được chuyển đi. Chi tiết xem Query XML.
Thông tin mô-đun
ModuleModel::getModuleInfoByMid($mid); // mid의 인스턴스 정보
ModuleModel::isIDExists($mid); // mid 중복 확인
ModuleModel::getModuleConfig('모듈명'); // 모듈 전역 설정
getController('module')->insertModuleConfig('모듈명', $config); // 설정 저장
ModuleModel::loadSkinInfo($path, $skin); // 스킨 메타데이터 (responsive 포함)Thành viên
MemberModel::getMemberInfoByMemberSrl($member_srl);
MemberModel::getGroups(); // 회원 그룹 목록
$logged_info = Context::get('logged_info');
$logged_info->is_admin === 'Y'; // 최고관리자 여부
$logged_info->group_list; // 소속 그룹 (키 = group_srl)Bộ nhớ đệm: Zittme\Framework\Cache
use Zittme\Framework\Cache;
$data = Cache::get('mykey');
Cache::set('mykey', $data, 300); // 300초
Cache::delete('mykey');
Cache::clearGroup('모듈명'); // 그룹 단위 비우기Hãy lưu đệm các truy vấn nặng, nhưng đừng quên xóa bộ nhớ đệm liên quan trong các action thay đổi dữ liệu.
Tệp: Zittme\Framework\Storage
use Zittme\Framework\Storage;
Storage::exists($path);
Storage::createDirectory($path);
Storage::move($from, $to);
Storage::delete($path);
Storage::isDirectory($path);Hằng số đường dẫn: RX_BASEDIR (thư mục gốc cài đặt), RX_BASEURL, RX_TIME (thời điểm yêu cầu). Theo quy ước, tệp được đặt trong thư mục riêng của từng mô-đun dưới files/.
Thư: Zittme\Framework\MailTemplate
Khung thư dùng chung của lõi. Nó đọc tên website, địa chỉ, màu nhấn từ cài đặt để tạo diện mạo nhất quán.
use Zittme\Framework\MailTemplate;
$body = MailTemplate::wrap('제목', $content_html);
$table = MailTemplate::infoTable(['항목' => '값']);
$button = MailTemplate::button('확인하기', $url);Các hàm toàn cục hay dùng
| Hàm | Công dụng |
|---|---|
getUrl(...) / getNotEncodedUrl(...) | Tạo URL (khác nhau ở việc có mã hóa hay không) |
getNotEncodedFullUrl(...) | URL đầy đủ gồm cả tên miền |
lang('key') | Chuỗi ngôn ngữ |
escape($str) | Thoát ký tự HTML |
zdate($ymdhis, 'Y-m-d') | Định dạng chuỗi YYYYMMDDHHIISS |
getNextSequence() | Số định danh duy nhất |
toBool($val) | Chuyển các cách ghi quen thuộc như Y/N sang boolean |
isCrawler() | Có phải bot tìm kiếm hay không |
Thói quen kiểm tra tồn tại thực sự
Nếu cần API không có ở đây, hãy dùng sau khi xác nhận nó thực sự tồn tại trong mã nguồn lõi. Đoán một cái tên tương tự rồi gọi là nguyên nhân lớn gây lỗi bên thứ ba. Cách nhanh nhất là tìm mã làm cùng việc trong các mô-đun lõi (board·member·document) rồi làm theo.