function ViewExecutable::generateHandlerId

Same name and namespace in other branches
  1. 9 core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::generateHandlerId()
  2. 8.9.x core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::generateHandlerId()
  3. 10 core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::generateHandlerId()

Generates a unique ID for a handler instance.

These handler instances are typically fields, filters, sort criteria, or arguments.

Parameters

string $requested_id: The requested ID for the handler instance.

array $existing_items: An array of existing handler instances, keyed by their IDs.

Return value

string A unique ID. This will be equal to $requested_id if no handler instance with that ID already exists. Otherwise, it will be appended with an integer to make it unique, e.g., "{$requested_id}_1", "{$requested_id}_2", etc.

2 calls to ViewExecutable::generateHandlerId()
ViewExecutable::addHandler in core/modules/views/src/ViewExecutable.php
Adds an instance of a handler to the view.
ViewExecutableTest::testGenerateHandlerId in core/modules/views/tests/src/Unit/ViewExecutableTest.php
@covers ::generateHandlerId

File

core/modules/views/src/ViewExecutable.php, line 2277

Class

ViewExecutable
Represents a view as a whole.

Namespace

Drupal\views

Code

public static function generateHandlerId($requested_id, $existing_items) {
    $count = 0;
    $id = $requested_id;
    while (!empty($existing_items[$id])) {
        $id = $requested_id . '_' . ++$count;
    }
    return $id;
}

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