PHP Class Xpressengine\DynamicField\DynamicFieldHandler

* Xpressengine\Database 의 ProxyManager 에 DatabaseProxy 를 등록 * ProxyManager 의 인터페이스를 이용해서 DynamicField 데이터 처리 * DynamicFieldHandler 를 이용해 인스턴스 관리 ## app binding * xe.dynamicField 로 바인딩 되어 있음 * DynamicField facade 제공 ## 사용법 Xpressengine\Database 패키지에서 처리하기 위해 ProxyInterface 를 사용함 ### $group * DynamicField 를 생성할 때 사용 한 별칭 * DynamicField 는 Table 단위로 관리되지 않음 * DynamicField 는 instance 별로 관리될 수 있음 ### 관리자 Section * App\Sections\DynamicFieldSection 을 이용해서 설정 ### DynamicField 출력 * Document 에 추가된 Dynamic field 를 blade 에서 출력 ```php
Author: XE Developers ([email protected])
Show file Open project: xpressengine/xpressengine Class Usage Examples

Protected Properties

Property Type Description
$configHandler ConfigHandler
$connection Xpressengine\Database\VirtualConnectionInterface database connection
$registerHandler RegisterHandler
$viewFactory Illuminate\View\Factory

Public Methods

Method Description
__construct ( Xpressengine\Database\VirtualConnectionInterface $connection, ConfigHandler $configHandler, RegisterHandler $registerHandler, Illuminate\View\Factory $viewFactory ) create instance
connection ( ) : Xpressengine\Database\VirtualConnectionInterface get database connection
create ( ConfigEntity $config, ColumnEntity $column = null ) : void DynamicField 생성 * ConfigManager 를 이용해 설정 정보를 저장 * FieldTypeManager 로 Dynamic Field Table 생성
drop ( ConfigEntity $config ) : void DynamicField 제거
get ( string $group, string $id ) : AbstractType get dynamic field
getByConfig ( ConfigEntity $config ) : AbstractType get type by dynamic field config entity
getConfigHandler ( ) : ConfigHandler get config handler
getRegisterHandler ( ) : RegisterHandler get register handler
getRules ( ConfigEntity $config ) : array get rules by dynamic field config entity
getType ( string $group, string $id ) : AbstractType get dynamic field without skin instance
getViewFactory ( ) : Illuminate\View\Factory get ViewFactory
gets ( string $group ) : Generator get dynamic fields by group name
has ( string $group, string $id ) : boolean has dynamic field
put ( ConfigEntity $config ) : void DynamicField 설정 변경
setConnection ( Xpressengine\Database\VirtualConnectionInterface $connection ) : void set database connection DatabaseProxy 에 의해서 connection 을 변경 한다.

Private Methods

Method Description
getDefaultJoinColumn ( ) : ColumnEntity DynamicField 는 기본으로 'id' 컬럼과 조인하도록 설정된다.

Method Details

__construct() public method

create instance
public __construct ( Xpressengine\Database\VirtualConnectionInterface $connection, ConfigHandler $configHandler, RegisterHandler $registerHandler, Illuminate\View\Factory $viewFactory )
$connection Xpressengine\Database\VirtualConnectionInterface database connection
$configHandler ConfigHandler config handler
$registerHandler RegisterHandler register handler
$viewFactory Illuminate\View\Factory view factory

connection() public method

get database connection
public connection ( ) : Xpressengine\Database\VirtualConnectionInterface
return Xpressengine\Database\VirtualConnectionInterface

create() public method

DynamicField 생성 * ConfigManager 를 이용해 설정 정보를 저장 * FieldTypeManager 로 Dynamic Field Table 생성
public create ( ConfigEntity $config, ColumnEntity $column = null ) : void
$config Xpressengine\Config\ConfigEntity insert config entity
$column ColumnEntity join column entity
return void

drop() public method

DynamicField 제거
public drop ( ConfigEntity $config ) : void
$config Xpressengine\Config\ConfigEntity config entity
return void

get() public method

get dynamic field
public get ( string $group, string $id ) : AbstractType
$group string config group name
$id string field type id
return AbstractType

getByConfig() public method

get type by dynamic field config entity
public getByConfig ( ConfigEntity $config ) : AbstractType
$config Xpressengine\Config\ConfigEntity dynamic field config entity
return AbstractType

getConfigHandler() public method

get config handler
public getConfigHandler ( ) : ConfigHandler
return ConfigHandler

getRegisterHandler() public method

get register handler
public getRegisterHandler ( ) : RegisterHandler
return RegisterHandler

getRules() public method

get rules by dynamic field config entity
public getRules ( ConfigEntity $config ) : array
$config Xpressengine\Config\ConfigEntity dynamic field config entity
return array

getType() public method

get dynamic field without skin instance
public getType ( string $group, string $id ) : AbstractType
$group string config group name
$id string field type id
return AbstractType

getViewFactory() public method

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

gets() public method

get dynamic fields by group name
public gets ( string $group ) : Generator
$group string config group name
return Generator

has() public method

has dynamic field
public has ( string $group, string $id ) : boolean
$group string config group name
$id string field type id
return boolean

put() public method

DynamicField 설정 변경
public put ( ConfigEntity $config ) : void
$config Xpressengine\Config\ConfigEntity update config entity
return void

setConnection() public method

set database connection DatabaseProxy 에 의해서 connection 을 변경 한다.
public setConnection ( Xpressengine\Database\VirtualConnectionInterface $connection ) : void
$connection Xpressengine\Database\VirtualConnectionInterface database connection
return void

Property Details

$configHandler protected property

protected ConfigHandler,Xpressengine\DynamicField $configHandler
return ConfigHandler

$connection protected property

database connection
protected VirtualConnectionInterface,Xpressengine\Database $connection
return Xpressengine\Database\VirtualConnectionInterface

$registerHandler protected property

protected RegisterHandler,Xpressengine\DynamicField $registerHandler
return RegisterHandler

$viewFactory protected property

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