class SkinHandler

SkinHandler는 XpressEngine에 등록된 스킨들을 관리하는 역할을 합니다. SkinHandler는 XE에서 XeSkin 파사드를 할당받습니다.

Constants

INSTANCE_DELIMITER

타겟에 대한 스킨정보를 저장할 때 사용하는 Key의 구분자.

Properties

protected PluginRegister $register
protected SkinInstanceStore $store
protected string[] $defaultSkins
protected string[] $defaultSettingsSkins
protected Closure $mobileResolver

Methods

__construct(PluginRegister $register, SkinInstanceStore $store, array $defaultSkins, array $defaultSettingsSkins)

생성자.

void
setStore(SkinInstanceStore $store)

스킨 지정 정보 저장소를 설정한다.

getStore()

스킨 지정 정보 저장소를 반환한다.

void
setMobileResolver(Closure $callback)

현재 요청이 모바일 버전인지 조회할 때 사용되는 resolver를 지정한다.

getMobileResolver()

현재 요청이 모바일 버전인지 조회할 때 사용되는 resolver를 조회한다.

get(string $id, array $config = null)

주어진 id로 등록된 스킨을 반환한다.

bool
has(string $id)

해당 id의 스킨이 등록돼 있는지 검사

getList(string|string[] $target, bool $isSettings = false)

주어진 타겟에 등록된 스킨의 목록을 조회하여 반환한다.

getListSupportingMobile(string|string[] $target, bool $isSettings = false)

주어진 타겟에 등록된 모바일 스킨의 목록을 조회하여 반환한다.

getListSupportingDesktop(string|string[] $target, bool $isSettings = false)

주어진 타겟에 등록된 데스크탑 스킨의 목록을 조회하여 반환한다.

getAssigned(string|string[] $target, string $mode = null)

타겟이 지정돼 있는 스킨을 반환한다.

getAssignedSettings(string|string[] $target)

타겟이 지정돼 있는 설정스킨을 반환한다.

void
assign(string $target, SkinEntity $skin, string|null $mode = 'desktop')

타겟에 주어진 스킨을 지정한다. 지정된 정보를 저장소에 저장하고, getAssigned() 메소드를 통해 조회할 수 있다.

void
saveConfig(string $target, SkinEntity $skin)

주어진 타겟에 지정된 스킨의 설정을 저장한다.

void
setDefaultSkin(string $target, string $skinId)

기본스킨으로 사용할 스킨을 지정한다.

void
setDefaultSettingsSkin(string $target, string $skinId)

기본스킨으로 사용할 설정스킨을 지정한다.

string
mergeKey(string|string[] $target, string|null $instanceId = null)

스킨 지정정보를 저장소에 사용하는 키를 조합한다.

Details

at line 72
__construct(PluginRegister $register, SkinInstanceStore $store, array $defaultSkins, array $defaultSettingsSkins)

생성자.

Parameters

PluginRegister $register Container. 등록된 스킨 목록을 가지고 있다.
SkinInstanceStore $store 스킨 지정 정보 저장소
array $defaultSkins 기본 스킨 목록
array $defaultSettingsSkins 기본 설정 스킨 목록

at line 91
void setStore(SkinInstanceStore $store)

스킨 지정 정보 저장소를 설정한다.

Parameters

SkinInstanceStore $store 스킨 지정 정보 저장소

Return Value

void

at line 101
SkinInstanceStore getStore()

스킨 지정 정보 저장소를 반환한다.

Return Value

SkinInstanceStore 스킨 지정 정보 저장소

at line 114
void setMobileResolver(Closure $callback)

현재 요청이 모바일 버전인지 조회할 때 사용되는 resolver를 지정한다.

Parameters

Closure $callback resolver

Return Value

void

at line 124
Closure getMobileResolver()

현재 요청이 모바일 버전인지 조회할 때 사용되는 resolver를 조회한다.

Return Value

Closure

at line 138
SkinEntity get(string $id, array $config = null)

주어진 id로 등록된 스킨을 반환한다.

Parameters

string $id 반환할 스킨의 id
array $config 스킨의 설정정보

Return Value

SkinEntity

at line 160
bool has(string $id)

해당 id의 스킨이 등록돼 있는지 검사

Parameters

string $id skin id

Return Value

bool

at line 180
SkinEntity[] getList(string|string[] $target, bool $isSettings = false)

주어진 타겟에 등록된 스킨의 목록을 조회하여 반환한다.

Parameters

string|string[] $target 조회할 스킨 target
bool $isSettings 설정스킨 여부. true일 경우 설정스킨 목록을 반환한다.

Return Value

SkinEntity[]

at line 202
SkinEntity[] getListSupportingMobile(string|string[] $target, bool $isSettings = false)

주어진 타겟에 등록된 모바일 스킨의 목록을 조회하여 반환한다.

Parameters

string|string[] $target 조회할 스킨 target
bool $isSettings 설정스킨 여부. true일 경우 설정스킨 목록을 반환한다.

Return Value

SkinEntity[]

at line 222
SkinEntity[] getListSupportingDesktop(string|string[] $target, bool $isSettings = false)

주어진 타겟에 등록된 데스크탑 스킨의 목록을 조회하여 반환한다.

Parameters

string|string[] $target 조회할 스킨 target
bool $isSettings 설정스킨 여부. true일 경우 설정스킨 목록을 반환한다.

Return Value

SkinEntity[]

at line 243
SkinEntity getAssigned(string|string[] $target, string $mode = null)

타겟이 지정돼 있는 스킨을 반환한다.

Parameters

string|string[] $target 조회할 타겟
string $mode 'mobile' or 'desktop'

Return Value

SkinEntity

at line 288
SkinEntity getAssignedSettings(string|string[] $target)

타겟이 지정돼 있는 설정스킨을 반환한다.

설정스킨을 모바일|데스크탑을 구분하지 않고, 스킨 정보를 저장소에 저장하는 기능도 제공하지 않는다.

Parameters

string|string[] $target 조회할 타겟

Return Value

SkinEntity

at line 320
void assign(string $target, SkinEntity $skin, string|null $mode = 'desktop')

타겟에 주어진 스킨을 지정한다. 지정된 정보를 저장소에 저장하고, getAssigned() 메소드를 통해 조회할 수 있다.

Parameters

string $target 타겟
SkinEntity $skin 스킨
string|null $mode 'mobile' or 'desktop'

Return Value

void

at line 336
void saveConfig(string $target, SkinEntity $skin)

주어진 타겟에 지정된 스킨의 설정을 저장한다.

Parameters

string $target 타겟
SkinEntity $skin 지정된 스킨, 스킨은 설정정보를 가지고 있다.

Return Value

void

at line 353
void setDefaultSkin(string $target, string $skinId)

기본스킨으로 사용할 스킨을 지정한다.

해당 타겟에 사용할 스킨을 찾을 때, 저장소에 지정된 스킨 정보가 없을 경우, 이 메소드를 통해 지정된 기본스킨을 조회한다.

Parameters

string $target 타겟
string $skinId 기본스킨의 아이디

Return Value

void

at line 367
void setDefaultSettingsSkin(string $target, string $skinId)

기본스킨으로 사용할 설정스킨을 지정한다.

해당 타겟에 사용할 설정스킨을 찾을 때, 저장소에 지정된 스킨 정보가 없을 경우, 이 메소드를 통해 지정된 스킨을 조회한다.

Parameters

string $target 타겟
string $skinId 기본스킨의 아이디

Return Value

void

at line 381
string mergeKey(string|string[] $target, string|null $instanceId = null)

스킨 지정정보를 저장소에 사용하는 키를 조합한다.

보통 타겟과 해당 타겟의 인스턴스 아이디를 전달받는다.

Parameters

string|string[] $target 타겟
string|null $instanceId 타겟 인스턴스 아이디

Return Value

string