PHP Class 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'); }
Author: XE Team (developers) ([email protected])
显示文件 Open project: xpressengine/xpressengine Class Usage Examples

Protected Properties

Property Type Description
$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

Public Methods

Method Description
__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.

Protected Methods

Method Description
get ( ) : Xpressengine\Presenter\RendererInterface Presenter Package 는 JsonRenderer, HtmlRenderer 를 지원한다.

Private Methods

Method Description
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 사용 유무 설정

Method Details

__construct() public method

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() protected method

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

getData() public method

get shared data
public getData ( ) : array
return array

getId() public method

get id
public getId ( ) : string
return string

getInstanceConfig() public method

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

getIsSettings() public method

get is settings support
public getIsSettings ( ) : boolean
return boolean

getManageHandler() public method

get settings handler
Deprecation:
public getManageHandler ( ) : SettingsHandler
return Xpressengine\Settings\SettingsHandler

getPresenter() public method

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

getRenderType() public method

get render type
public getRenderType ( ) : string
return string

getRequest() public method

get request
public getRequest ( ) : Illuminate\Http\Request
return Illuminate\Http\Request

getSettingsHandler() public method

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

getShared() public method

get shared
public getShared ( ) : array
return array

getSkinHandler() public method

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

getSkinTargetId() public method

get skin target id
public getSkinTargetId ( ) : string
return string

getThemeHandler() public method

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

getViewFactory() public method

get ViewFactory
public getViewFactory ( ) : Illuminate\View\Factory
return Illuminate\View\Factory

htmlRenderPartial() public method

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

htmlRenderPopup() public method

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

make() public method

출력 처리할 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
return Xpressengine\Presenter\RendererInterface

makeAll() public method

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
return Xpressengine\Presenter\RendererInterface

makeApi() public method

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

redirect() public method

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
return RedirectResponse | Redirector

register() public method

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

renderType() public method

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

setData() public method

set shared data
public setData ( array $data ) : void
$data array data
return void

setId() public method

set id
public setId ( string $id ) : void
$id string id
return void

setSettingsSkinTargetId() public method

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

setSkinTargetId() public method

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

share() public method

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
return null | array

Property Details

$api protected_oe property

is support api
protected bool $api
return boolean

$data protected_oe property

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

$html protected_oe property

is support html
protected bool $html
return boolean

$id protected_oe property

output id
protected string $id
return string

$instanceConfig protected_oe property

protected InstanceConfig,Xpressengine\Routing $instanceConfig
return Xpressengine\Routing\InstanceConfig

$isSettings protected_oe property

is settings present
protected bool $isSettings
return boolean

$presentables protected_oe property

registered presentable instance
protected array $presentables
return array

$request protected_oe property

protected Request,Illuminate\Http $request
return Illuminate\Http\Request

$settingsHandler protected_oe property

protected SettingsHandler,Xpressengine\Settings $settingsHandler
return Xpressengine\Settings\SettingsHandler

$shared protected_oe property

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

$skinHandler protected_oe property

protected SkinHandler,Xpressengine\Skin $skinHandler
return Xpressengine\Skin\SkinHandler

$skinTargetId protected_oe property

skin class name
protected string $skinTargetId
return string

$themeHandler protected_oe property

protected ThemeHandler,Xpressengine\Theme $themeHandler
return Xpressengine\Theme\ThemeHandler

$type protected_oe property

protected string $type
return string

$viewFactory protected_oe property

protected Factory,Illuminate\View $viewFactory
return Illuminate\View\Factory