ZF\Apigility\Admin\Model\AbstractPluginManagerModel::getPluginNamesByTypeViaReflection PHP Method

getPluginNamesByTypeViaReflection() private method

Retrieve registered plugin names by type of retrieval.
private getPluginNamesByTypeViaReflection ( string $type, ReflectionClass $r, Zend\ServiceManager\AbstractPluginManager $pluginManager ) : array
$type string 'aliases', 'invokableClasses', 'factories'
$r ReflectionClass
$pluginManager Zend\ServiceManager\AbstractPluginManager
return array
    private function getPluginNamesByTypeViaReflection($type, ReflectionClass $r, AbstractPluginManager $pluginManager)
    {
        if ($type === 'aliases') {
            $type = $r->hasProperty('resolvedAliases') ? 'resolvedAliases' : $type;
        }
        if (!$r->hasProperty($type)) {
            return [];
        }
        $rProp = $r->getProperty($type);
        $rProp->setAccessible(true);
        switch ($type) {
            case 'resolvedAliases':
                // fall-through
            // fall-through
            case 'aliases':
                return array_filter(array_values($rProp->getValue($pluginManager)), [$this, 'filterPluginName']);
            case 'invokableClasses':
                // fall-through
            // fall-through
            case 'factories':
                // fall-through
            // fall-through
            default:
                return array_filter(array_keys($rProp->getValue($pluginManager)), [$this, 'filterPluginName']);
        }
    }