function RegisterSerializationClassesCompilerPass::sort

Same name in other branches
  1. 9 core/modules/serialization/src/RegisterSerializationClassesCompilerPass.php \Drupal\serialization\RegisterSerializationClassesCompilerPass::sort()
  2. 10 core/modules/serialization/src/RegisterSerializationClassesCompilerPass.php \Drupal\serialization\RegisterSerializationClassesCompilerPass::sort()
  3. 11.x core/modules/serialization/src/RegisterSerializationClassesCompilerPass.php \Drupal\serialization\RegisterSerializationClassesCompilerPass::sort()

Sorts by priority.

Order services from highest priority number to lowest (reverse sorting).

Parameters

array $services: A nested array keyed on priority number. For each priority number, the value is an array of Symfony\Component\DependencyInjection\Reference objects, each a reference to a normalizer or encoder service.

Return value

array A flattened array of Reference objects from $services, ordered from high to low priority.

2 calls to RegisterSerializationClassesCompilerPass::sort()
RegisterSerializationClassesCompilerPass::process in core/modules/jsonapi/src/DependencyInjection/Compiler/RegisterSerializationClassesCompilerPass.php
Adds services to the JSON:API Serializer.
RegisterSerializationClassesCompilerPass::process in core/modules/serialization/src/RegisterSerializationClassesCompilerPass.php
Adds services to the Serializer.

File

core/modules/serialization/src/RegisterSerializationClassesCompilerPass.php, line 95

Class

RegisterSerializationClassesCompilerPass
Adds services tagged 'normalizer' and 'encoder' to the Serializer.

Namespace

Drupal\serialization

Code

protected function sort($services) {
    $sorted = [];
    krsort($services);
    // Flatten the array.
    foreach ($services as $a) {
        $sorted = array_merge($sorted, $a);
    }
    return $sorted;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.