Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. PluginManager.php

function PluginManager::getCapabilityImplementationClassName

Return value

null|string The fully qualified class of the implementation or null if Plugin is not of Capable type or does not provide it

Throws

\RuntimeException On empty or non-string implementation class name value

1 call to PluginManager::getCapabilityImplementationClassName()
PluginManager::getPluginCapability in vendor/composer/composer/src/Composer/Plugin/PluginManager.php
@template CapabilityClass of Capability

File

vendor/composer/composer/src/Composer/Plugin/PluginManager.php, line 570

Class

PluginManager
Plugin manager

Namespace

Composer\Plugin

Code

protected function getCapabilityImplementationClassName(PluginInterface $plugin, string $capability) : ?string {
    if (!$plugin instanceof Capable) {
        return null;
    }
    $capabilities = (array) $plugin->getCapabilities();
    if (!empty($capabilities[$capability]) && is_string($capabilities[$capability]) && trim($capabilities[$capability])) {
        return trim($capabilities[$capability]);
    }
    if (array_key_exists($capability, $capabilities) && (empty($capabilities[$capability]) || !is_string($capabilities[$capability]) || !trim($capabilities[$capability]))) {
        throw new \UnexpectedValueException('Plugin ' . get_class($plugin) . ' provided invalid capability class name(s), got ' . var_export($capabilities[$capability], true));
    }
    return null;
}
RSS feed
Powered by Drupal