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

Breadcrumb

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

function ServiceMap::resolveParentDefinition

1 call to ServiceMap::resolveParentDefinition()
ServiceMap::setDrupalServices in vendor/mglaman/phpstan-drupal/src/Drupal/ServiceMap.php

File

vendor/mglaman/phpstan-drupal/src/Drupal/ServiceMap.php, line 79

Class

ServiceMap

Namespace

mglaman\PHPStanDrupal\Drupal

Code

private function resolveParentDefinition(string $parentId, array $serviceDefinition, array $drupalServices) : array {
    $parentDefinition = $drupalServices[$parentId] ?? [];
    if ([] === $parentDefinition) {
        return $serviceDefinition;
    }
    if (isset($parentDefinition['parent'])) {
        if (!isset($drupalServices[$parentDefinition['parent']])) {
            return $serviceDefinition;
        }
        $parentDefinition = $this->resolveParentDefinition($parentDefinition['parent'], $drupalServices[$parentDefinition['parent']], $drupalServices);
    }
    if (isset($parentDefinition['class']) && !isset($serviceDefinition['class'])) {
        $serviceDefinition['class'] = $parentDefinition['class'];
    }
    if (isset($parentDefinition['public']) && !isset($serviceDefinition['public'])) {
        $serviceDefinition['public'] = $parentDefinition['public'];
    }
    return $serviceDefinition;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal