Xpressengine\Plugin\PluginHandler::getAllPlugins PHP Method

getAllPlugins() public method

등록된 플러그인의 목록을 반환한다.
public getAllPlugins ( boolean $refresh = false ) : PluginCollection
$refresh boolean true일 경우, cache를 사용하지 않고 다시 목록을 생성하여 반환한다.
return PluginCollection
    public function getAllPlugins($refresh = false)
    {
        if ($refresh === true) {
            $this->plugins->initialize(true);
            // 각 플러그인의 설치된 버전과 실제버전이 다르고, 별도의 install이나 update가 필요없을 경우, 설치된 버전정보를 갱신한다.
            foreach ($this->plugins->getList() as $plugin) {
                /** @var PluginEntity $plugin */
                $installedVersion = $plugin->getInstalledVersion();
                $sourceVersion = $plugin->getVersion();
                if ($sourceVersion !== $installedVersion) {
                    if ($plugin->checkInstalled($installedVersion) && $plugin->checkUpdated($installedVersion)) {
                        $this->setPluginStatus($plugin->getId(), ['version' => $sourceVersion, 'status' => $plugin->getStatus()]);
                        $plugin->setInstalledVersion($sourceVersion);
                    }
                }
            }
        }
        return $this->plugins;
    }

Usage Example

 public function show($pluginId, PluginHandler $handler, PluginProvider $provider)
 {
     // refresh plugin cache
     $handler->getAllPlugins(true);
     $componentTypes = $this->getComponentTypes();
     $plugin = $handler->getPlugin($pluginId);
     $provider->sync($plugin);
     return XePresenter::make('show', compact('plugin', 'componentTypes'));
 }
All Usage Examples Of Xpressengine\Plugin\PluginHandler::getAllPlugins