PHP 클래스 Xpressengine\Plugin\PluginHandler

저자: XE Developers ([email protected])
파일 보기 프로젝트 열기: xpressengine/xpressengine 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$bootingPlugin string 현재 부팅중인 플러그인의 id
$config Xpressengine\Config\ConfigManager 플러그인 관련 설정 정보를 저장함.
$configKey string 플러그인 관련 설정 정보의 저장 키
$plugins PluginCollection 등록된 플러그인을 목록
$pluginsDir string the path of directory that all plugins is located 플러그인이 등록돼 있는 디렉토리 경로. 모든 플러그인은 이 디렉토리 안에 존재한다.
$provider PluginProvider
$register PluginRegister register
$viewFactory Illuminate\Contracts\View\Factory view factory

공개 메소드들

메소드 설명
__construct ( string $pluginsDir, PluginCollection $plugins, PluginProvider $provider, Illuminate\Contracts\View\Factory $viewFactory, PluginRegister $register, Illuminate\Foundation\Application $app ) 생성자. 플러그인 관리에 필요한 요소들을 주입받는다.
activatePlugin ( string $pluginId ) : void 주어진 플러그인을 활성화한다. 활성화된 플러그인 목록은 XE에 저장된다.
addComponent ( string $component ) : void 컴포넌트를 Register에 추가한다.
bootPlugin ( PluginEntity $entity ) : void 플러그인을 부트한다.
bootPlugins ( ) : void 활성화 된 플러그인을 부팅한다. 이 메소드는 모든 요청에서 항상 호출되며, 활성화 된 모든 플러그인의 boot()메소드를 호출한다.
deactivatePlugin ( string $pluginId ) : void 주어진 플러그인을 비활성화한다.
getActivatedPlugins ( ) : PluginEntity[] 활성화 된 플러그인의 목록을 반환한다.
getAllPlugins ( boolean $refresh = false ) : PluginCollection 등록된 플러그인의 목록을 반환한다.
getOperation ( ComposerFileWriter $writer ) : array | null 현재 진행중인 플러그인 설치 작업 내역을 반환한다.
getPlugin ( string $pluginId ) : PluginEntity 주어진 pluginId에 해당하는 플러그인을 조회하여 반환한다. PluginEntity 형태로 반환한다.
getPluginsDir ( ) : string plugin directory 경로를 반환한다.
isActivated ( string $pluginId ) : boolean 플러그인이 활성화되었는지 조사한다.
setConfig ( ConfigManager $config ) : void config manager를 설정한다.
setPluginsDir ( string $path ) : void plugin directory 경로를 지정한다.
uninstallPlugin ( string $pluginId ) : void 주어진 플러그인을 uninstall 한다.
updatePlugin ( string $pluginId, boolean $updateStatus = true ) : void 플러그인을 업데이트한다. 내부적으로는 단순히 플러그인을 다시 activate 시킨다.

보호된 메소드들

메소드 설명
getPluginStatus ( string $pluginId, null $field = null ) : mixed 주어진 플러그인의 상태정보를 조회한다.
getPluginsStatus ( ) : mixed 플러그인들의 상태정보를 조회한다.
setPluginStatus ( string $pluginId, string $field, null $status = null ) : void 주어진 plugin의 상태를 갱신한다.
setPluginsStatus ( array $configs ) : void 플러그인 상태정보를 갱신한다.

비공개 메소드들

메소드 설명
registerViewNamespace ( PluginEntity $entity ) : void 플러그인의 view namespace를 지정한다.

메소드 상세

__construct() 공개 메소드

생성자. 플러그인 관리에 필요한 요소들을 주입받는다.
public __construct ( string $pluginsDir, PluginCollection $plugins, PluginProvider $provider, Illuminate\Contracts\View\Factory $viewFactory, PluginRegister $register, Illuminate\Foundation\Application $app )
$pluginsDir string 플러그인 디렉토리
$plugins PluginCollection 플러그인 목록
$provider PluginProvider 플러그인 프로바이더
$viewFactory Illuminate\Contracts\View\Factory View
$register PluginRegister plugin register
$app Illuminate\Foundation\Application application

activatePlugin() 공개 메소드

주어진 플러그인을 활성화한다. 활성화된 플러그인 목록은 XE에 저장된다.
public activatePlugin ( string $pluginId ) : void
$pluginId string 활성화 할 플러그인의 id
리턴 void

addComponent() 공개 메소드

컴포넌트를 Register에 추가한다.
public addComponent ( string $component ) : void
$component string component class name
리턴 void

bootPlugin() 공개 메소드

플러그인을 부트한다.
public bootPlugin ( PluginEntity $entity ) : void
$entity PluginEntity 부트시킬 플러그인
리턴 void

bootPlugins() 공개 메소드

각 플러그인은 모든 요청에서 항상 작동되어야 할 작업을 boot() 메소드로 작성해 놓아야 한다.
public bootPlugins ( ) : void
리턴 void

deactivatePlugin() 공개 메소드

주어진 플러그인을 비활성화한다.
public deactivatePlugin ( string $pluginId ) : void
$pluginId string 비활성화 할 플러그인의 id
리턴 void

getActivatedPlugins() 공개 메소드

활성화 된 플러그인의 목록을 반환한다.
public getActivatedPlugins ( ) : PluginEntity[]
리턴 PluginEntity[]

getAllPlugins() 공개 메소드

등록된 플러그인의 목록을 반환한다.
public getAllPlugins ( boolean $refresh = false ) : PluginCollection
$refresh boolean true일 경우, cache를 사용하지 않고 다시 목록을 생성하여 반환한다.
리턴 PluginCollection

getOperation() 공개 메소드

현재 진행중인 플러그인 설치 작업 내역을 반환한다.
public getOperation ( ComposerFileWriter $writer ) : array | null
$writer Xpressengine\Plugin\Composer\ComposerFileWriter composer file writer
리턴 array | null

getPlugin() 공개 메소드

주어진 pluginId에 해당하는 플러그인을 조회하여 반환한다. PluginEntity 형태로 반환한다.
public getPlugin ( string $pluginId ) : PluginEntity
$pluginId string 조회할 plugin의 id
리턴 PluginEntity

getPluginStatus() 보호된 메소드

주어진 플러그인의 상태정보를 조회한다.
protected getPluginStatus ( string $pluginId, null $field = null ) : mixed
$pluginId string plugin id
$field null 'version' or 'status'
리턴 mixed

getPluginsDir() 공개 메소드

plugin directory 경로를 반환한다.
public getPluginsDir ( ) : string
리턴 string

getPluginsStatus() 보호된 메소드

플러그인들의 상태정보를 조회한다.
protected getPluginsStatus ( ) : mixed
리턴 mixed

isActivated() 공개 메소드

플러그인이 활성화되었는지 조사한다.
public isActivated ( string $pluginId ) : boolean
$pluginId string 조사할 플러그인 아이디
리턴 boolean 활성화된 플러그인일 경우 true 반환

setConfig() 공개 메소드

config manager를 설정한다.
public setConfig ( ConfigManager $config ) : void
$config Xpressengine\Config\ConfigManager config manager
리턴 void

setPluginStatus() 보호된 메소드

상태정보에는 status, version 필드가 있으며, 둘중 하나만 선택해서 갱신할 수도 있다.
protected setPluginStatus ( string $pluginId, string $field, null $status = null ) : void
$pluginId string plugin id
$field string 'version' or 'status'
$status null value of field
리턴 void

setPluginsDir() 공개 메소드

plugin directory 경로를 지정한다.
public setPluginsDir ( string $path ) : void
$path string 지정할 디렉토리 경로
리턴 void

setPluginsStatus() 보호된 메소드

플러그인 상태정보를 갱신한다.
protected setPluginsStatus ( array $configs ) : void
$configs array status list
리턴 void

uninstallPlugin() 공개 메소드

주어진 플러그인을 uninstall 한다.
public uninstallPlugin ( string $pluginId ) : void
$pluginId string 삭제할 플러그인의 id
리턴 void

updatePlugin() 공개 메소드

플러그인을 업데이트한다. 내부적으로는 단순히 플러그인을 다시 activate 시킨다.
public updatePlugin ( string $pluginId, boolean $updateStatus = true ) : void
$pluginId string 업데이트할 플러그인의 아이디
$updateStatus boolean true일 경우, 업데이트한 플러그인의 상태를 status에 업데이트한다.
리턴 void

프로퍼티 상세

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

현재 부팅중인 플러그인의 id
protected string $bootingPlugin
리턴 string

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

플러그인 관련 설정 정보를 저장함.
protected ConfigManager,Xpressengine\Config $config
리턴 Xpressengine\Config\ConfigManager

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

플러그인 관련 설정 정보의 저장 키
protected string $configKey
리턴 string

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

등록된 플러그인을 목록
protected PluginCollection,Xpressengine\Plugin $plugins
리턴 PluginCollection

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

the path of directory that all plugins is located 플러그인이 등록돼 있는 디렉토리 경로. 모든 플러그인은 이 디렉토리 안에 존재한다.
protected string $pluginsDir
리턴 string

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

protected PluginProvider,Xpressengine\Plugin $provider
리턴 PluginProvider

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

register
protected PluginRegister,Xpressengine\Plugin $register
리턴 PluginRegister

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

view factory
protected Factory,Illuminate\Contracts\View $viewFactory
리턴 Illuminate\Contracts\View\Factory