LinkBinding.php in Drupal 7 to 8/9 Module Upgrader 8
File
src/Routing/LinkBinding/LinkBinding.php
View source
<?php
namespace Drupal\drupalmoduleupgrader\Routing\LinkBinding;
use Drupal\drupalmoduleupgrader\Routing\Drupal7\RouteWrapper as Drupal7Route;
use Drupal\drupalmoduleupgrader\Routing\Drupal8\RouteWrapper as Drupal8Route;
use Drupal\drupalmoduleupgrader\Routing\LinkIndex;
class LinkBinding {
protected $source;
protected $destination;
protected $id;
protected $index;
public function __construct(Drupal7Route $source, Drupal8Route $destination) {
$this->source = $source;
$this->destination = $destination;
}
public function getSource() {
return $this->source;
}
public function getDestination() {
return $this->destination;
}
public function getIdentifier() {
return $this->id ?: $this
->getDestination()
->getIdentifier();
}
public function onIndexed($id, LinkIndex $index) {
$this->id = $id;
$this->index = $index;
}
public function build() {
$link = [
'route_name' => $this
->getDestination()
->getIdentifier(),
];
$source = $this
->getSource();
if ($source
->containsKey('title')) {
$link['title'] = $source['title'];
}
if ($source
->containsKey('weight')) {
$link['weight'] = $source['weight'];
}
return $link;
}
}
Classes
Name |
Description |
LinkBinding |
Represents a binding between a Drupal 7 route and a Drupal 8 one. |