PluginHandler
class PluginHandler
XE에 등록된 플러그인의 전체적인 관리를 담당한다.
Constants
| STATUS_ACTIVATED |
활성화 된 상태 |
| STATUS_DEACTIVATED |
비활성화 된 상태 |
| PLUGIN_VENDOR_NAME |
플러그인이 package name에 지정해야 하는 vendor |
Properties
| protected string | $pluginsDir | the path of directory that all plugins is located 플러그인이 등록돼 있는 디렉토리 경로. 모든 플러그인은 이 디렉토리 안에 존재한다. | |
| protected PluginCollection | $plugins | 등록된 플러그인을 목록 | |
| protected PluginProvider | $provider | ||
| protected string | $bootingPlugin | 현재 부팅중인 플러그인의 id | |
| protected ConfigManager | $config | 플러그인 관련 설정 정보를 저장함. | |
| protected string | $configKey | 플러그인 관련 설정 정보의 저장 키 | |
| protected Factory | $viewFactory | view factory | |
| protected PluginRegister | $register | register | |
| private Application | $app | laravel application |
Methods
생성자. 플러그인 관리에 필요한 요소들을 주입받는다.
plugin directory 경로를 반환한다.
plugin directory 경로를 지정한다.
get Unresolved Components
주어진 플러그인을 활성화한다. 활성화된 플러그인 목록은 XE에 저장된다.
주어진 플러그인을 비활성화한다.
플러그인을 업데이트한다.
주어진 플러그인을 uninstall 한다.
활성화 된 플러그인을 부팅한다. 이 메소드는 모든 요청에서 항상 호출되며, 활성화 된 모든 플러그인의 boot()메소드를 호출한다.
등록된 플러그인의 목록을 반환한다.
설치된 플러그인 목록 캐시를 갱신한다.
활성화 된 플러그인의 목록을 반환한다.
주어진 pluginId에 해당하는 플러그인을 조회하여 반환한다. PluginEntity 형태로 반환한다.
플러그인들의 상태정보를 조회한다.
주어진 플러그인의 상태정보를 조회한다.
플러그인 상태정보를 갱신한다.
주어진 plugin의 상태를 갱신한다.
플러그인이 활성화되었는지 조사한다.
컴포넌트를 Register에 추가한다.
Details
at line 130
__construct(string $pluginsDir, PluginCollection $plugins, PluginProvider $provider, Factory $viewFactory, PluginRegister $register, Application $app)
생성자. 플러그인 관리에 필요한 요소들을 주입받는다.
at line 153
void
setConfig(ConfigManager $config)
config manager를 설정한다.
at line 163
string
getPluginsDir()
plugin directory 경로를 반환한다.
at line 175
void
setPluginsDir(string $path)
plugin directory 경로를 지정한다.
at line 187
array
getUnresolvedComponents(string|null $plugin = null)
get Unresolved Components
at line 205
void
activatePlugin(string $pluginId)
주어진 플러그인을 활성화한다. 활성화된 플러그인 목록은 XE에 저장된다.
at line 254
void
deactivatePlugin(string $pluginId)
주어진 플러그인을 비활성화한다.
at line 306
void
updatePlugin(string $pluginId, bool $updateStatus = true)
플러그인을 업데이트한다.
at line 353
void
uninstallPlugin(string $pluginId)
주어진 플러그인을 uninstall 한다.
at line 378
void
bootPlugins()
활성화 된 플러그인을 부팅한다. 이 메소드는 모든 요청에서 항상 호출되며, 활성화 된 모든 플러그인의 boot()메소드를 호출한다.
각 플러그인은 모든 요청에서 항상 작동되어야 할 작업을 boot() 메소드로 작성해 놓아야 한다.
at line 398
void
registerPlugin(PluginEntity $entity)
플러그인에서 제공하는 요소들을 바인딩한다.
at line 421
void
bootPlugin(PluginEntity $entity)
플러그인을 부트한다.
at line 439
PluginCollection
getAllPlugins(bool $refresh = false)
등록된 플러그인의 목록을 반환한다.
at line 470
void
refreshPlugins()
설치된 플러그인 목록 캐시를 갱신한다.
at line 480
PluginEntity[]
getActivatedPlugins()
활성화 된 플러그인의 목록을 반환한다.
at line 492
PluginEntity
getPlugin(string $pluginId)
주어진 pluginId에 해당하는 플러그인을 조회하여 반환한다. PluginEntity 형태로 반환한다.
at line 502
protected mixed
getPluginsStatus()
플러그인들의 상태정보를 조회한다.
at line 516
protected mixed
getPluginStatus(string $pluginId, null $field = null)
주어진 플러그인의 상태정보를 조회한다.
at line 534
protected void
setPluginsStatus(array $configs)
플러그인 상태정보를 갱신한다.
at line 549
protected void
setPluginStatus(string $pluginId, array $field, null $status = null)
주어진 plugin의 상태를 갱신한다.
상태정보에는 status, version 필드가 있으며, 둘중 하나만 선택해서 갱신할 수도 있다.
at line 570
private void
registerViewNamespace(PluginEntity $entity)
플러그인의 view namespace를 지정한다.
at line 582
bool
isActivated(string $pluginId)
플러그인이 활성화되었는지 조사한다.
at line 598
array|null
getOperation(ComposerFileWriter $writer)
현재 진행중인 플러그인 설치 작업 내역을 반환한다.
at line 691
void
addComponent(string $component)
컴포넌트를 Register에 추가한다.