PHP 클래스 Xpressengine\Document\DocumentHandler

## app binding * xe.document 로 바인딩 되어 있음 * Document facade 제공 ## 사용법 ### Instance 생성 php $documentHandler = app('xe.document'); $configEntity = $documentHandler->createInstance('newInstanceId'); $instanceManager->add($configEntity); ### 문서 등록 php $id = (new Keygen())->generate(); $inputs = ['id'=>$id', 'instanceId'=>'instance-id', 'title'=>'title', 'content'=>'content' ...]; $doc = new DocumentEntity($inputs); $documentHandler->add($doc); ### 문서 수정 php $doc = $documentHandler->get('document-id', 'instance-id'); $doc->title = 'changed title'; app('xe.document')->update($doc); ### 문서 삭제 php $doc = $documentHandler->get('document-id', 'instance-id'); app('xe.document')->remove($doc); ### 문서 조회 php instance id, document id 로 문서 갖고오기 $doc = $documentHandler->get('document-id', 'instance-id'); document id 로 문서 조회 $doc = $documentHandler->getById('document-id'); ### 문서 수 조회 php 전체 문서 수 조회회 $count = $documentHandler->count(); 인스턴스의 전체 문서 수 조회 $count = $documentHandler->countByInstanceId('instance-id'); ### 문서 목록 조회 php $wheres, $orders 는 Repository\DocumentRepository 참고 $wheres = []; $orders = []; $docs = $documentHandler->gets($wheres, $orders, 20); $paginate = $documentHandler->paginate($wheres, $orders, 20); ## 기타 ### Interception * Comment count 를 위해 DocumentServiceProvider 에서 Interception 등록
저자: XE Team (developers) ([email protected])
파일 보기 프로젝트 열기: xpressengine/xpressengine 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$configHandler ConfigHandler
$conn Xpressengine\Database\VirtualConnectionInterface
$instanceManager InstanceManager
$model model class
$request Illuminate\Http\Request
$revisionModel model class

공개 메소드들

메소드 설명
__construct ( Xpressengine\Database\VirtualConnectionInterface $conn, ConfigHandler $configHandler, InstanceManager $instanceManager, Illuminate\Http\Request $request )
add ( array $attributes ) : Document add document
addRevision ( Document $doc ) : boolean add revision
createInstance ( string $instanceId, array $params = [] ) : ConfigEntity create document instance
destroyInstance ( string $instanceId, integer $chunk = 100 ) : void destroy document instance
get ( string $id, string $instanceId = null ) : Document get document
getConfig ( string $instanceId ) : ConfigEntity get document config
getConfigHandler ( ) : ConfigHandler get config handler
getDivisionTableName ( ConfigEntity $config ) : string get division table name
getInstanceManager ( ) : InstanceManager get repository
getModel ( string $instanceId = null ) : Document Proxy, Division 관련 설정이 된 Document model 반환 Document 는 config 를 설정해야 정상 사용 가능함 document model 를 직접 반환하지 않음
proxyOption ( ConfigEntity $config = null ) : array get database proxy options
put ( Document $doc ) : Document update document
remove ( Document $doc ) : boolean delete document
setModelConfig ( Document $doc, string $instanceId ) : Document set model's config

보호된 메소드들

메소드 설명
getRevisionModel ( ) : Revision get revision model
newModel ( ) : Document create document model config 없이 모델을 직접 생성할 경우 문제가 발생하므로 접근을 제한함
newRevisionModel ( array $attributes = [] ) : Revision create revision model
removeDivision ( Document $doc ) : void 인스턴스 아이디가 변경된 경우 이전 인스턴스의 디비전 테이블 데이터 삭제

메소드 상세

__construct() 공개 메소드

public __construct ( Xpressengine\Database\VirtualConnectionInterface $conn, ConfigHandler $configHandler, InstanceManager $instanceManager, Illuminate\Http\Request $request )
$conn Xpressengine\Database\VirtualConnectionInterface database connection
$configHandler ConfigHandler config handler
$instanceManager InstanceManager instance manager
$request Illuminate\Http\Request Request

add() 공개 메소드

add document
public add ( array $attributes ) : Document
$attributes array document attributes
리턴 Xpressengine\Document\Models\Document

addRevision() 공개 메소드

add revision
public addRevision ( Document $doc ) : boolean
$doc Xpressengine\Document\Models\Document document model
리턴 boolean

createInstance() 공개 메소드

create document instance
public createInstance ( string $instanceId, array $params = [] ) : ConfigEntity
$instanceId string instance id
$params array parameters
리턴 Xpressengine\Config\ConfigEntity

destroyInstance() 공개 메소드

destroy document instance
public destroyInstance ( string $instanceId, integer $chunk = 100 ) : void
$instanceId string instance id
$chunk integer chunk count
리턴 void

get() 공개 메소드

get document
public get ( string $id, string $instanceId = null ) : Document
$id string document id
$instanceId string instance id
리턴 Xpressengine\Document\Models\Document

getConfig() 공개 메소드

get document config
public getConfig ( string $instanceId ) : ConfigEntity
$instanceId string instance id
리턴 Xpressengine\Config\ConfigEntity

getConfigHandler() 공개 메소드

get config handler
public getConfigHandler ( ) : ConfigHandler
리턴 ConfigHandler

getDivisionTableName() 공개 메소드

get division table name
public getDivisionTableName ( ConfigEntity $config ) : string
$config Xpressengine\Config\ConfigEntity config entity
리턴 string

getInstanceManager() 공개 메소드

get repository
public getInstanceManager ( ) : InstanceManager
리턴 InstanceManager

getModel() 공개 메소드

Proxy, Division 관련 설정이 된 Document model 반환 Document 는 config 를 설정해야 정상 사용 가능함 document model 를 직접 반환하지 않음
public getModel ( string $instanceId = null ) : Document
$instanceId string document instance id
리턴 Xpressengine\Document\Models\Document

getRevisionModel() 보호된 메소드

get revision model
protected getRevisionModel ( ) : Revision
리턴 Xpressengine\Document\Models\Revision

newModel() 보호된 메소드

create document model config 없이 모델을 직접 생성할 경우 문제가 발생하므로 접근을 제한함
protected newModel ( ) : Document
리턴 Xpressengine\Document\Models\Document

newRevisionModel() 보호된 메소드

create revision model
protected newRevisionModel ( array $attributes = [] ) : Revision
$attributes array attributes
리턴 Xpressengine\Document\Models\Revision

proxyOption() 공개 메소드

get database proxy options
public proxyOption ( ConfigEntity $config = null ) : array
$config Xpressengine\Config\ConfigEntity config entity
리턴 array

put() 공개 메소드

update document
public put ( Document $doc ) : Document
$doc Xpressengine\Document\Models\Document document model
리턴 Xpressengine\Document\Models\Document

remove() 공개 메소드

delete document
public remove ( Document $doc ) : boolean
$doc Xpressengine\Document\Models\Document document model
리턴 boolean

removeDivision() 보호된 메소드

인스턴스 아이디가 변경된 경우 이전 인스턴스의 디비전 테이블 데이터 삭제
protected removeDivision ( Document $doc ) : void
$doc Xpressengine\Document\Models\Document document model
리턴 void

setModelConfig() 공개 메소드

set model's config
public setModelConfig ( Document $doc, string $instanceId ) : Document
$doc Xpressengine\Document\Models\Document document model
$instanceId string document instance id
리턴 Xpressengine\Document\Models\Document

프로퍼티 상세

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

protected ConfigHandler,Xpressengine\Document $configHandler
리턴 ConfigHandler

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

protected VirtualConnectionInterface,Xpressengine\Database $conn
리턴 Xpressengine\Database\VirtualConnectionInterface

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

protected InstanceManager,Xpressengine\Document $instanceManager
리턴 InstanceManager

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

model class
protected $model

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

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

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

model class
protected $revisionModel