オープンソースプロジェクト XpressEngineとは? コンテンツの生産と発行を支援するCMSです。
?

Shortcut

Prev前へ 書き込み

Next次へ 書き込み

Larger Font Smaller Font 上へ 下へ Go comment 印刷
プラグイン

Register

by XEJapan posted Nov 22, 2015
?

Shortcut

Prev前へ 書き込み

Next次へ 書き込み

Larger Font Smaller Font 上へ 下へ Go comment 印刷

Register

개요

Register 패키지는 XE 내부에서 플러그인으로 부터 등록받은 컴포넌트들 또는 XE 내부 시스템에서 사용되는 각종 Key-Value 정보를 담고 있는 역할을 수행합니다. 플러그인에서 등록되는 여러 컴포넌트(테마, 스킨, 위젯 등)은 모두 Register 내부에 등록되어 정해진 인터페이스에 따라서 활용됩니다.

목적

테마, 스킨, 위젯과 같은 컴포넌트들이 각각의 분리되어 정보를 관리하게 되면, 관리 패키지들이 매번 로드되어야 하는 불필요한 로직이 발생합니다. 이를 하나로 통합하여 Register 를 통해서 동일한 방식으로 관리하여 불필요한 패키지의 로드를 피하도록 할 수 있습니다. 동일한 방식의 등록은 컴포넌트 등록방법에 대한 일관성을 유지할 수 있게 하며, 보다 효율성 적으로 관리할 수 있게 합니다.

구성

Register는 그 자체로 KEY-VALUE 형식의 저장소 구조를 띄고 있습니다. 플러그인에서 컴포넌트를 등록할 때에는 컴포넌트에 따라서 지정된 형식으로 구성된 KEY 형태로 등록되어야 합니다.

사용법

Register는 그자체로는 단순한 KEY-VALUE 저장소이기 때문에 컴포넌트를 등록할 때 뿐만 아니라, 플러그인 간에 또는 플러그인과 XE 코어 패키지간에 공유해야 할 데이터를 저장하는 용도로 자유롭게 사용할 수 있습니다. 다른 플러그인과 공유할 데이터 저장공간이 필요하다면 직접 Register를 사용하십시오. 이 때 KEY 형식은 다른 KEY와 충돌이 발생하지 않도록 신중히 지정해야 합니다. 직접 Register 를 사용하는 경우 키는 주로 플러그인의 고유 이름을 기반으로 지정됩니다. Key 에 해당하는 Value 를 지정할 때 VALUE의 형식은 제한되어 있지 않습니다.

기본적인 사용법

Register::add('board/postmenu/spamreport', $value);

컴포넌트를 등록할 때에는 PluginRegister를 사용하십시오.

// Theme 정의
class SketchbookTheme extends AbstractTheme
{
    // $id는 Register에 등록될 때 KEY로 사용됩니다.
    // theme의 경우 'theme/[고유아이디]' 형식이어야 합니다. [고유아이디]는 소속된 [plugin의 id@ text] 형식으로 작성하시길 권장합니다.
    protected static $id = 'theme/myplugin@sketchbook';
    ...
}
// Register에 Theme 등록
// PluginRegister는 지정된 클래스의 $id를 KEY로 사용하여 등록합니다.
PluginRegister::add('My\Theme\SketchbookTheme');

API 사용법


List of Articles
カテゴリ タイトル 日付 最終修正日
XE3 XpressEngine 매뉴얼 2015.11.22 2015.11.22
XE3紹介 XE3의 소개-배경 2015.11.22 2015.11.22
XE3紹介 XE3 소개 - 중요 개념 소개 2015.11.22 2015.11.22
Get Started インストールする 2015.11.22 2015.12.15
View要素 Presenter 2015.11.22 2015.11.22
View要素 FrontEnd 2015.11.22 2015.11.22
プラグイン 플러그인 2015.11.22 2015.11.22
プラグイン Plugin 2015.11.22 2015.11.22
プラグイン Register 2015.11.22 2015.11.22
コンポーネント 컴포넌트 2015.11.22 2015.11.22
コンポーネント Theme 2015.11.22 2015.11.22
コンポーネント Module 2015.11.22 2015.11.22
コンポーネント Skin 2015.11.22 2015.11.22
コンポーネント UIObject 2015.11.22 2015.11.22
コンポーネント Widget 2015.11.22 2015.11.22
パッケージ 패키지 2015.11.22 2015.11.22
パッケージ Captcha 2015.11.22 2015.11.22
パッケージ Category 2015.11.22 2015.11.22
パッケージ Comment 2015.11.22 2015.11.22
パッケージ Config 2015.11.22 2015.11.22
Board Pagination Prev 1 2 3 Next
/ 3