Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ElementNameResolver.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
15 
20 {
24  private $tableNameResolver;
25 
29  private $resourceConnection;
30 
35  public function __construct(TableNameResolver $tableNameResolver, ResourceConnection $resourceConnection)
36  {
37  $this->tableNameResolver = $tableNameResolver;
38  $this->resourceConnection = $resourceConnection;
39  }
40 
49  public function getFullIndexName(
50  Table $table,
51  array $columns,
53  ): string {
55  return strtoupper(AdapterInterface::INDEX_TYPE_PRIMARY);
56  }
57 
62  $isIndexTypeOutOfList = false === array_search(
63  $type,
65  );
66  if ($type && $isIndexTypeOutOfList) {
68  }
69 
70  $tableName = $this->tableNameResolver->getNameOfOriginTable($table->getName());
71 
72  return $this->resourceConnection
73  ->getIdxName(
74  $tableName,
75  $columns,
76  $type
77  );
78  }
79 
89  public function getIndexNameWithoutPrefix(
90  string $name,
91  Table $table,
92  array $columns,
94  ): string {
96  return strtoupper(AdapterInterface::INDEX_TYPE_PRIMARY);
97  }
98 
99  $nameWithoutPrefix = $name;
100 
101  if ($this->resourceConnection->getTablePrefix()) {
106  $isIndexTypeOutOfList = false === array_search(
107  $type,
109  );
110  if ($type && $isIndexTypeOutOfList) {
112  }
113 
114  $nameWithoutPrefix = $this->resourceConnection
115  ->getConnection($table->getResource())
116  ->getIndexName(
117  $this->tableNameResolver->getNameOfOriginTable(
118  $table->getNameWithoutPrefix()
119  ),
120  $columns,
121  $type
122  );
123  }
124 
125  return $nameWithoutPrefix;
126  }
127 
137  public function getFullFKName(
138  Table $table,
139  Column $column,
140  Table $referenceTable,
141  Column $referenceColumn
142  ): string {
143  $fkName = $this->resourceConnection
144  ->getFkName(
145  $this->tableNameResolver->getNameOfOriginTable($table->getName()),
146  $column->getName(),
147  $referenceTable->getName(),
148  $referenceColumn->getName()
149  );
150 
151  return $fkName;
152  }
153 
164  public function getFKNameWithoutPrefix(
165  string $name,
166  Table $table,
167  Column $column,
168  Table $referenceTable,
169  Column $referenceColumn
170  ): string {
171  $nameWithoutPrefix = $name;
172 
173  if ($this->resourceConnection->getTablePrefix()) {
174  $nameWithoutPrefix = $this->resourceConnection
175  ->getConnection($table->getResource())
176  ->getForeignKeyName(
177  $this->tableNameResolver->getNameOfOriginTable(
178  $table->getNameWithoutPrefix()
179  ),
180  $column->getName(),
181  $referenceTable->getNameWithoutPrefix(),
182  $referenceColumn->getName()
183  );
184  }
185 
186  return $nameWithoutPrefix;
187  }
188 }
$tableName
Definition: trigger.php:13
getIndexNameWithoutPrefix(string $name, Table $table, array $columns, ?string $type=AdapterInterface::INDEX_TYPE_INDEX)
getFullFKName(Table $table, Column $column, Table $referenceTable, Column $referenceColumn)
$columns
Definition: default.phtml:15
$type
Definition: item.phtml:13
getFKNameWithoutPrefix(string $name, Table $table, Column $column, Table $referenceTable, Column $referenceColumn)
$table
Definition: trigger.php:14
getFullIndexName(Table $table, array $columns, ?string $type=AdapterInterface::INDEX_TYPE_INDEX)
__construct(TableNameResolver $tableNameResolver, ResourceConnection $resourceConnection)
if(!isset($_GET['name'])) $name
Definition: log.php:14