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\PluginCode
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;
}