You are here

protected function AvatarKitServicePluginManager::findDefinitions in Avatar Kit 8.2

Finds plugin definitions.

Return value

array List of definitions to store in cache.

Overrides DefaultPluginManager::findDefinitions

File

src/AvatarKitServicePluginManager.php, line 48

Class

AvatarKitServicePluginManager
Avatar Kit service plugin manager.

Namespace

Drupal\avatars

Code

protected function findDefinitions() : array {
  $definitions = parent::findDefinitions();
  $definitions = array_filter($definitions, function (array $definition) : bool {

    // Don't remember abstract plugins.
    // This accommodates Avatar Kit deriver, where the base class is abstract.
    // It allows initial plugin creation and discovery. Later on, plugins add
    // features with their own class.
    $class = $definition['class'] ?? '';
    try {
      $reflection = new \ReflectionClass($class);
      return !$reflection
        ->isAbstract();
    } catch (\ReflectionException $e) {
    }
    return FALSE;
  });
  return $definitions;
}