PHP 클래스 Xpressengine\Presenter\Presenter

## App binding * xe.presenter 로 바인딩 되어 있음 * Presenter facade 제공 ## Interception ## 사용법 ### 스킨 사용 등록 php $presenter = app('xe.presenter'); 사용자 스킨 사용 $presenter->setSkin('parent-key'); 관리자 스킨 사용 $presenter->setSettingsSkin('parent-key'); ### Html 형식만 지원 php public controllerMethodName() { ... 생략 ... return Presenter::make('skin.view.name'); } ### Api(json) 형식만 지원 할 경우 php public controllerMethodName() { ... 생략 ... return Presenter::makeApi(['data']); } ### 모든 형식을 지원 할 경우 php public controllerMethodName() { ... 생략 ... return Presenter::makeAll('skin.view.name'); }
저자: XE Team (developers) ([email protected])
파일 보기 프로젝트 열기: xpressengine/xpressengine 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$api boolean is support api
$data array Data that should be available at current presentable
$html boolean is support html
$id string output id
$instanceConfig Xpressengine\Routing\InstanceConfig
$isSettings boolean is settings present
$presentables array registered presentable instance
$request Illuminate\Http\Request
$settingsHandler Xpressengine\Settings\SettingsHandler
$shared array Data that should be available to all templates.
$skinHandler Xpressengine\Skin\SkinHandler
$skinTargetId string skin class name
$themeHandler Xpressengine\Theme\ThemeHandler
$type string
$viewFactory Illuminate\View\Factory

공개 메소드들

메소드 설명
__construct ( Illuminate\View\Factory $viewFactory, Illuminate\Http\Request $request, ThemeHandler $themeHandler, Xpressengine\Skin\SkinHandler $skinHandler, SettingsHandler $settingsHandler, InstanceConfig $instanceConfig ) Create a new instance.
getData ( ) : array get shared data
getId ( ) : string get id
getInstanceConfig ( ) : InstanceConfig get menu config
getIsSettings ( ) : boolean get is settings support
getManageHandler ( ) : SettingsHandler get settings handler
getPresenter ( string $format ) : Xpressengine\Presenter\Presentable get renderer
getRenderType ( ) : string get render type
getRequest ( ) : Illuminate\Http\Request get request
getSettingsHandler ( ) : SettingsHandler get settings handler
getShared ( ) : array get shared
getSkinHandler ( ) : Xpressengine\Skin\SkinHandler get skin handler
getSkinTargetId ( ) : string get skin target id
getThemeHandler ( ) : ThemeHandler get theme handler
getViewFactory ( ) : Illuminate\View\Factory get ViewFactory
htmlRenderPartial ( boolean $partial = true ) : void render 방식을 content 로 설정
htmlRenderPopup ( boolean $popup = true ) : void render 방식을 content 로 설정
make ( string $id, array $data = [], array $mergeData = [], boolean $html = true, boolean $api = false ) : Xpressengine\Presenter\RendererInterface 출력 처리할 renderer 반환 api 지원 안함
makeAll ( string $id, array $data = [], array $mergeData = [] ) : Xpressengine\Presenter\RendererInterface api, html 모두 지원하는 renderer 반환
makeApi ( array $data = [], array $mergeData = [] ) : Xpressengine\Presenter\RendererInterface API 지원하는 renderer 반환 html 지원 안하지 않고 api만 처리 할 경우 사용
redirect ( null $to = null, integer $status = 302, array $headers = [], null $secure = null, array $data = [] ) : RedirectResponse | Redirector xeRedirect() 메소드와 같은 형태의 파라메터 사용
register ( string $format, Closure $callback ) : void register presentable classes
renderType ( string $type = self::RENDER_ALL ) : void render 방식 설정 $type [ 'all' => theme, skin 처리 'content' => content 만 render ]
setData ( array $data ) : void set shared data
setId ( string $id ) : void set id
setSettingsSkinTargetId ( string $skinTargetId ) : void set settings skin class name
setSkinTargetId ( string $skinTargetId ) : void set skin class name
share ( mixed $key, mixed $value = null ) : null | array Add a piece of shared data to the environment.

보호된 메소드들

메소드 설명
get ( ) : Xpressengine\Presenter\RendererInterface Presenter Package 는 JsonRenderer, HtmlRenderer 를 지원한다.

비공개 메소드들

메소드 설명
isApproveFormat ( string $format ) : boolean render 할 수 있도록 허용된 요청 fotmat인가?
setApi ( boolean $use = true ) : void API로 출력 사용 유무 설정
setHtml ( boolean $use = true ) : void HTML로 출력 사용 유무 설정
setUse ( boolean $html, boolean $api ) : void html, api 사용 유무 설정

메소드 상세

__construct() 공개 메소드

Create a new instance.
public __construct ( Illuminate\View\Factory $viewFactory, Illuminate\Http\Request $request, ThemeHandler $themeHandler, Xpressengine\Skin\SkinHandler $skinHandler, SettingsHandler $settingsHandler, InstanceConfig $instanceConfig )
$viewFactory Illuminate\View\Factory view factory
$request Illuminate\Http\Request Request instance
$themeHandler Xpressengine\Theme\ThemeHandler theme handler
$skinHandler Xpressengine\Skin\SkinHandler skin handler
$settingsHandler Xpressengine\Settings\SettingsHandler manage handler
$instanceConfig Xpressengine\Routing\InstanceConfig menu config

get() 보호된 메소드

Xpressengine 은 Register Container 로 등록된 Renderer 를 사용한다.
protected get ( ) : Xpressengine\Presenter\RendererInterface
리턴 Xpressengine\Presenter\RendererInterface

getData() 공개 메소드

get shared data
public getData ( ) : array
리턴 array

getId() 공개 메소드

get id
public getId ( ) : string
리턴 string

getInstanceConfig() 공개 메소드

get menu config
public getInstanceConfig ( ) : InstanceConfig
리턴 Xpressengine\Routing\InstanceConfig

getIsSettings() 공개 메소드

get is settings support
public getIsSettings ( ) : boolean
리턴 boolean

getManageHandler() 공개 메소드

get settings handler
사용 중단:
public getManageHandler ( ) : SettingsHandler
리턴 Xpressengine\Settings\SettingsHandler

getPresenter() 공개 메소드

get renderer
public getPresenter ( string $format ) : Xpressengine\Presenter\Presentable
$format string renderer format
리턴 Xpressengine\Presenter\Presentable

getRenderType() 공개 메소드

get render type
public getRenderType ( ) : string
리턴 string

getRequest() 공개 메소드

get request
public getRequest ( ) : Illuminate\Http\Request
리턴 Illuminate\Http\Request

getSettingsHandler() 공개 메소드

get settings handler
public getSettingsHandler ( ) : SettingsHandler
리턴 Xpressengine\Settings\SettingsHandler

getShared() 공개 메소드

get shared
public getShared ( ) : array
리턴 array

getSkinHandler() 공개 메소드

get skin handler
public getSkinHandler ( ) : Xpressengine\Skin\SkinHandler
리턴 Xpressengine\Skin\SkinHandler

getSkinTargetId() 공개 메소드

get skin target id
public getSkinTargetId ( ) : string
리턴 string

getThemeHandler() 공개 메소드

get theme handler
public getThemeHandler ( ) : ThemeHandler
리턴 Xpressengine\Theme\ThemeHandler

getViewFactory() 공개 메소드

get ViewFactory
public getViewFactory ( ) : Illuminate\View\Factory
리턴 Illuminate\View\Factory

htmlRenderPartial() 공개 메소드

render 방식을 content 로 설정
public htmlRenderPartial ( boolean $partial = true ) : void
$partial boolean render to content
리턴 void

htmlRenderPopup() 공개 메소드

render 방식을 content 로 설정
public htmlRenderPopup ( boolean $popup = true ) : void
$popup boolean render to popup
리턴 void

make() 공개 메소드

출력 처리할 renderer 반환 api 지원 안함
public make ( string $id, array $data = [], array $mergeData = [], boolean $html = true, boolean $api = false ) : Xpressengine\Presenter\RendererInterface
$id string skin output id
$data array data
$mergeData array merge data
$html boolean use html
$api boolean use api
리턴 Xpressengine\Presenter\RendererInterface

makeAll() 공개 메소드

api, html 모두 지원하는 renderer 반환
public makeAll ( string $id, array $data = [], array $mergeData = [] ) : Xpressengine\Presenter\RendererInterface
$id string skin output id
$data array data
$mergeData array merge data
리턴 Xpressengine\Presenter\RendererInterface

makeApi() 공개 메소드

API 지원하는 renderer 반환 html 지원 안하지 않고 api만 처리 할 경우 사용
public makeApi ( array $data = [], array $mergeData = [] ) : Xpressengine\Presenter\RendererInterface
$data array data
$mergeData array merge data
리턴 Xpressengine\Presenter\RendererInterface

redirect() 공개 메소드

xeRedirect() 메소드와 같은 형태의 파라메터 사용
public redirect ( null $to = null, integer $status = 302, array $headers = [], null $secure = null, array $data = [] ) : RedirectResponse | Redirector
$to null redirect url
$status integer status code
$headers array header
$secure null secure
$data array data
리턴 RedirectResponse | Redirector

register() 공개 메소드

register presentable classes
public register ( string $format, Closure $callback ) : void
$format string format
$callback Closure closure for get presentable instance
리턴 void

renderType() 공개 메소드

render 방식 설정 $type [ 'all' => theme, skin 처리 'content' => content 만 render ]
사용 중단:
public renderType ( string $type = self::RENDER_ALL ) : void
$type string render type
리턴 void

setData() 공개 메소드

set shared data
public setData ( array $data ) : void
$data array data
리턴 void

setId() 공개 메소드

set id
public setId ( string $id ) : void
$id string id
리턴 void

setSettingsSkinTargetId() 공개 메소드

set settings skin class name
public setSettingsSkinTargetId ( string $skinTargetId ) : void
$skinTargetId string skin class name
리턴 void

setSkinTargetId() 공개 메소드

set skin class name
public setSkinTargetId ( string $skinTargetId ) : void
$skinTargetId string skin target id
리턴 void

share() 공개 메소드

Add a piece of shared data to the environment.
public share ( mixed $key, mixed $value = null ) : null | array
$key mixed key(string|array)
$value mixed value
리턴 null | array

프로퍼티 상세

$api 보호되어 있는 프로퍼티

is support api
protected bool $api
리턴 boolean

$data 보호되어 있는 프로퍼티

Data that should be available at current presentable
protected array $data
리턴 array

$html 보호되어 있는 프로퍼티

is support html
protected bool $html
리턴 boolean

$id 보호되어 있는 프로퍼티

output id
protected string $id
리턴 string

$instanceConfig 보호되어 있는 프로퍼티

protected InstanceConfig,Xpressengine\Routing $instanceConfig
리턴 Xpressengine\Routing\InstanceConfig

$isSettings 보호되어 있는 프로퍼티

is settings present
protected bool $isSettings
리턴 boolean

$presentables 보호되어 있는 프로퍼티

registered presentable instance
protected array $presentables
리턴 array

$request 보호되어 있는 프로퍼티

protected Request,Illuminate\Http $request
리턴 Illuminate\Http\Request

$settingsHandler 보호되어 있는 프로퍼티

protected SettingsHandler,Xpressengine\Settings $settingsHandler
리턴 Xpressengine\Settings\SettingsHandler

$shared 보호되어 있는 프로퍼티

Data that should be available to all templates.
protected array $shared
리턴 array

$skinHandler 보호되어 있는 프로퍼티

protected SkinHandler,Xpressengine\Skin $skinHandler
리턴 Xpressengine\Skin\SkinHandler

$skinTargetId 보호되어 있는 프로퍼티

skin class name
protected string $skinTargetId
리턴 string

$themeHandler 보호되어 있는 프로퍼티

protected ThemeHandler,Xpressengine\Theme $themeHandler
리턴 Xpressengine\Theme\ThemeHandler

$type 보호되어 있는 프로퍼티

protected string $type
리턴 string

$viewFactory 보호되어 있는 프로퍼티

protected Factory,Illuminate\View $viewFactory
리턴 Illuminate\View\Factory