PHP Class Xpressengine\Plugin\PluginHandler

Author: XE Developers ([email protected])
ファイルを表示 Open project: xpressengine/xpressengine Class Usage Examples

Protected Properties

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

Public Methods

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

Protected Methods

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

Private Methods

Method Description
registerViewNamespace ( PluginEntity $entity ) : void 플러그인의 view namespace를 지정한다.

Method Details

__construct() public method

생성자. 플러그인 관리에 필요한 요소들을 주입받는다.
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() public method

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

addComponent() public method

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

bootPlugin() public method

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

bootPlugins() public method

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

deactivatePlugin() public method

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

getActivatedPlugins() public method

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

getAllPlugins() public method

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

getOperation() public method

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

getPlugin() public method

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

getPluginStatus() protected method

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

getPluginsDir() public method

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

getPluginsStatus() protected method

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

isActivated() public method

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

setConfig() public method

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

setPluginStatus() protected method

상태정보에는 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
return void

setPluginsDir() public method

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

setPluginsStatus() protected method

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

uninstallPlugin() public method

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

updatePlugin() public method

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

Property Details

$bootingPlugin protected_oe property

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

$config protected_oe property

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

$configKey protected_oe property

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

$plugins protected_oe property

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

$pluginsDir protected_oe property

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

$provider protected_oe property

protected PluginProvider,Xpressengine\Plugin $provider
return PluginProvider

$register protected_oe property

register
protected PluginRegister,Xpressengine\Plugin $register
return PluginRegister

$viewFactory protected_oe property

view factory
protected Factory,Illuminate\Contracts\View $viewFactory
return Illuminate\Contracts\View\Factory