Completed
Push — 8.x-1.x ( 48b271...fbaab6 )
by Janez
02:46
created

EntityBrowserListBuilder   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 2
c 1
b 0
f 1
lcom 0
cbo 1
dl 0
loc 27
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A buildHeader() 0 5 1
A buildRow() 0 6 1
1
<?php
2
3
/**
4
 * @file
5
 * Contains \Drupal\entity_browser\Controllers\EntityBrowserListBuilder.
6
 */
7
8
namespace Drupal\entity_browser\Controllers;
9
10
use Drupal\Core\Entity\EntityInterface;
11
use Drupal\Core\Entity\EntityListBuilder;
12
13
14
/**
15
 * Provides a list controller for entity browser.
16
 *
17
 * @ingroup entity_browser
18
 */
19
class EntityBrowserListBuilder extends EntityListBuilder {
20
21
  /**
22
   * {@inheritdoc}
23
   *
24
   * Building the header and content lines for the entity browser list.
25
   *
26
   * Calling the parent::buildHeader() adds a column for the possible actions
27
   * and inserts the 'edit' and 'delete' links as defined for the entity type.
28
   */
29
  public function buildHeader() {
30
    $header['id'] = $this->t('ID');
0 ignored issues
show
Coding Style Comprehensibility introduced by
$header was never initialized. Although not strictly required by PHP, it is generally a good practice to add $header = array(); before regardless.

Adding an explicit array definition is generally preferable to implicit array definition as it guarantees a stable state of the code.

Let’s take a look at an example:

foreach ($collection as $item) {
    $myArray['foo'] = $item->getFoo();

    if ($item->hasBar()) {
        $myArray['bar'] = $item->getBar();
    }

    // do something with $myArray
}

As you can see in this example, the array $myArray is initialized the first time when the foreach loop is entered. You can also see that the value of the bar key is only written conditionally; thus, its value might result from a previous iteration.

This might or might not be intended. To make your intention clear, your code more readible and to avoid accidental bugs, we recommend to add an explicit initialization $myArray = array() either outside or inside the foreach loop.

Loading history...
31
    $header['name'] = $this->t('Name');
32
    return $header + parent::buildHeader();
33
  }
34
35
  /**
36
   * {@inheritdoc}
37
   */
38
  public function buildRow(EntityInterface $entity) {
39
    /* @var $entity \Drupal\entity_browser\Entity\EntityBrowser */
40
    $row['id'] = $entity->id();
0 ignored issues
show
Coding Style Comprehensibility introduced by
$row was never initialized. Although not strictly required by PHP, it is generally a good practice to add $row = array(); before regardless.

Adding an explicit array definition is generally preferable to implicit array definition as it guarantees a stable state of the code.

Let’s take a look at an example:

foreach ($collection as $item) {
    $myArray['foo'] = $item->getFoo();

    if ($item->hasBar()) {
        $myArray['bar'] = $item->getBar();
    }

    // do something with $myArray
}

As you can see in this example, the array $myArray is initialized the first time when the foreach loop is entered. You can also see that the value of the bar key is only written conditionally; thus, its value might result from a previous iteration.

This might or might not be intended. To make your intention clear, your code more readible and to avoid accidental bugs, we recommend to add an explicit initialization $myArray = array() either outside or inside the foreach loop.

Loading history...
41
    $row['name'] = $entity->label();
42
    return $row + parent::buildRow($entity);
43
  }
44
45
}
46