presto-8.x-2.2/src/Mixins/WeightedPluginManagerTrait.php

src/Mixins/WeightedPluginManagerTrait.php
<?php

namespace Drupal\presto\Mixins;

/**
 * Adds definition sorting (by weight) to plugin managers.
 *
 * @package Drupal\presto\Mixins
 */
trait WeightedPluginManagerTrait {

  /**
   * Sorts plugins by weight.
   *
   * @param array $definitions
   *   List of plugin definitions, each MUST have a 'weight' key.
   *
   * @return array
   *   Sorted definitions.
   */
  protected function sortByWeight(array $definitions) {
    // Sort definitions by weight before returning.
    uasort($definitions, function ($first, $second) {
      if ($first['weight'] === $second['weight']) {
        return 0;
      }
      return ($first['weight'] < $second['weight']) ? -1 : 1;
    });

    return $definitions;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc