Piwik\Plugin::doFindMultipleComponents PHP Method

doFindMultipleComponents() private method

private doFindMultipleComponents ( $directoryWithinPlugin, $expectedSubclass ) : array
$directoryWithinPlugin
$expectedSubclass
return array
    private function doFindMultipleComponents($directoryWithinPlugin, $expectedSubclass)
    {
        $components = array();
        $baseDir = PIWIK_INCLUDE_PATH . '/plugins/' . $this->pluginName . '/' . $directoryWithinPlugin;
        $files = Filesystem::globr($baseDir, '*.php');
        foreach ($files as $file) {
            require_once $file;
            $fileName = str_replace(array($baseDir . '/', '.php'), '', $file);
            $klassName = sprintf('Piwik\\Plugins\\%s\\%s\\%s', $this->pluginName, str_replace('/', '\\', $directoryWithinPlugin), str_replace('/', '\\', $fileName));
            if (!class_exists($klassName)) {
                continue;
            }
            if (!empty($expectedSubclass) && !is_subclass_of($klassName, $expectedSubclass)) {
                continue;
            }
            $klass = new \ReflectionClass($klassName);
            if ($klass->isAbstract()) {
                continue;
            }
            $components[$file] = $klassName;
        }
        return $components;
    }