Newscoop\Services\Plugins\ManagerService::findAvaiablePlugins PHP Метод

findAvaiablePlugins() публичный Метод

Find avaiable plugins
public findAvaiablePlugins ( ) : array
Результат array array('plugin/name' => \Class\Name)
    public function findAvaiablePlugins()
    {
        $plugins = array();
        $finder = new Finder();
        $elements = $finder->directories()->depth('== 0')->in($this->pluginsDir);
        if (count($elements) > 0) {
            foreach ($elements as $element) {
                $vendorName = $element->getFileName();
                $secondFinder = new Finder();
                $directories = $secondFinder->directories()->depth('== 0')->in($element->getPathName());
                foreach ($directories as $directory) {
                    $pluginName = $directory->getFileName();
                    $className = $vendorName . '\\' . $pluginName . '\\' . $vendorName . $pluginName;
                    $pos = strpos($pluginName, 'Bundle');
                    if ($pos !== false) {
                        $plugins[] = $className;
                    }
                }
            }
        }
        return $plugins;
    }