Ir al contenido
Docs

Guía para desarrolladores

Clases del núcleo más usadas

Aquí se reúnen las clases y funciones del núcleo más usadas en el desarrollo de terceros. No es una especificación completa, sino un mapa de "qué buscar y dónde". Las clases del framework están en el espacio de nombres Zittme\Framework\ (Rhymix\Framework\ también es compatible).

Context: entre la solicitud y la pantalla

$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');

Atención: Context::set() sobrescribe la variable de solicitud con el mismo nombre. Para los valores de formulario en acciones proc, es más seguro leer $_POST directamente.

Base de datos

$output = executeQuery('모듈.쿼리명', $args);       // 단건 성격
$output = executeQueryArray('모듈.쿼리명', $args);  // 결과 항상 배열
$srl = getNextSequence();                            // 고유 번호 발급

Comprueba el éxito con $output->toBool(); si falla, devuelve $output tal cual y el mensaje de error se transmitirá. Más detalles en Query XML.

Información de módulos

ModuleModel::getModuleInfoByMid($mid);     // mid의 인스턴스 정보
ModuleModel::isIDExists($mid);             // mid 중복 확인
ModuleModel::getModuleConfig('모듈명');     // 모듈 전역 설정
getController('module')->insertModuleConfig('모듈명', $config);  // 설정 저장
ModuleModel::loadSkinInfo($path, $skin);   // 스킨 메타데이터 (responsive 포함)

Miembros

MemberModel::getMemberInfoByMemberSrl($member_srl);
MemberModel::getGroups();                  // 회원 그룹 목록
$logged_info = Context::get('logged_info');
$logged_info->is_admin === 'Y';            // 최고관리자 여부
$logged_info->group_list;                  // 소속 그룹 (키 = group_srl)

Caché: Zittme\Framework\Cache

use Zittme\Framework\Cache;

$data = Cache::get('mykey');
Cache::set('mykey', $data, 300);           // 300초
Cache::delete('mykey');
Cache::clearGroup('모듈명');                // 그룹 단위 비우기

Guarda en caché las consultas pesadas, pero no olvides borrar la caché relacionada en las acciones que modifican datos.

Archivos: Zittme\Framework\Storage

use Zittme\Framework\Storage;

Storage::exists($path);
Storage::createDirectory($path);
Storage::move($from, $to);
Storage::delete($path);
Storage::isDirectory($path);

Constantes de ruta: RX_BASEDIR (raíz de la instalación), RX_BASEURL, RX_TIME (hora de la solicitud). Por convención, los archivos se guardan en una carpeta por módulo dentro de files/.

Correo: Zittme\Framework\MailTemplate

Es la plantilla común de correo del núcleo. Lee el nombre del sitio, la dirección y el color de acento desde los ajustes y genera una apariencia uniforme.

use Zittme\Framework\MailTemplate;

$body = MailTemplate::wrap('제목', $content_html);
$table = MailTemplate::infoTable(['항목' => '값']);
$button = MailTemplate::button('확인하기', $url);

Funciones globales más usadas

FunciónUso
getUrl(...) / getNotEncodedUrl(...)Generar URL (difieren en si codifican o no)
getNotEncodedFullUrl(...)URL completa con dominio
lang('key')Cadena de idioma
escape($str)Escapar HTML
zdate($ymdhis, 'Y-m-d')Formatear una cadena YYYYMMDDHHIISS
getNextSequence()Número único
toBool($val)Convertir notaciones habituales como Y/N a booleano
isCrawler()Si es un bot de búsqueda

El hábito de verificar que existe

Si necesitas una API que no está aquí, úsala después de confirmar en el código fuente del núcleo que realmente existe. Adivinar un nombre parecido y llamarlo es una causa importante de errores en desarrollos de terceros. Lo más rápido es buscar en los módulos del núcleo (board, member, document) el código que hace lo mismo y seguirlo.