Completed
Pull Request — 8.x-1.x (#137)
by
unknown
16:44 queued 12s
created

EntityBrowserListBuilder   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1
Metric Value
wmc 3
lcom 0
cbo 1
dl 0
loc 42
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A render() 0 7 1
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
   * We override ::render() so that we can add our own content above the table.
25
   * parent::render() is where EntityListBuilder creates the table using our
26
   * buildHeader() and buildRow() implementations.
27
   */
28
  public function render() {
29
    $build['description'] = array(
0 ignored issues
show
Coding Style Comprehensibility introduced by
$build was never initialized. Although not strictly required by PHP, it is generally a good practice to add $build = 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...
30
      '#markup' => $this->t('Entity Browser'),
31
    );
32
    $build['table'] = parent::render();
33
    return $build;
34
  }
35
36
  /**
37
   * {@inheritdoc}
38
   *
39
   * Building the header and content lines for the entity browser list.
40
   *
41
   * Calling the parent::buildHeader() adds a column for the possible actions
42
   * and inserts the 'edit' and 'delete' links as defined for the entity type.
43
   */
44
  public function buildHeader() {
45
    $header['id'] = $this->t('EB 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...
46
    $header['name'] = $this->t('Name');
47
    return $header + parent::buildHeader();
48
  }
49
50
  /**
51
   * {@inheritdoc}
52
   */
53
  public function buildRow(EntityInterface $entity) {
54
    /* @var $entity \Drupal\entity_browser\Entity\EntityBrowser */
55
    $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...
56
    $row['name'] = $entity->link();
57
    return $row + parent::buildRow($entity);
58
  }
59
60
}
61