CategorizingPluginManagerInterface.php

Same filename in other branches
  1. 9 core/lib/Drupal/Component/Plugin/CategorizingPluginManagerInterface.php
  2. 8.9.x core/lib/Drupal/Component/Plugin/CategorizingPluginManagerInterface.php
  3. 11.x core/lib/Drupal/Component/Plugin/CategorizingPluginManagerInterface.php

Namespace

Drupal\Component\Plugin

File

core/lib/Drupal/Component/Plugin/CategorizingPluginManagerInterface.php

View source
<?php

namespace Drupal\Component\Plugin;


/**
 * Defines an interface for plugin managers that categorize plugin definitions.
 */
interface CategorizingPluginManagerInterface extends PluginManagerInterface {
    
    /**
     * Gets the names of all categories.
     *
     * @return string[]
     *   An array of translated categories, sorted alphabetically.
     */
    public function getCategories();
    
    /**
     * Gets sorted plugin definitions.
     *
     * @param array[]|null $definitions
     *   (optional) The plugin definitions to sort. If omitted, all plugin
     *   definitions are used.
     *
     * @return array[]
     *   An array of plugin definitions, sorted by category and label.
     */
    public function getSortedDefinitions(?array $definitions = NULL);
    
    /**
     * Gets sorted plugin definitions grouped by category.
     *
     * In addition to grouping, both categories and its entries are sorted,
     * whereas plugin definitions are sorted by label.
     *
     * @param array[]|null $definitions
     *   (optional) The plugin definitions to group. If omitted, all plugin
     *   definitions are used.
     *
     * @return array[]
     *   Keys are category names, and values are arrays of which the keys are
     *   plugin IDs and the values are plugin definitions.
     */
    public function getGroupedDefinitions(?array $definitions = NULL);

}

Interfaces

Title Deprecated Summary
CategorizingPluginManagerInterface Defines an interface for plugin managers that categorize plugin definitions.

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