Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Compiled.php
Go to the documentation of this file.
1 <?php
7 
11 
15 class Compiled implements ConfigInterface
16 {
20  private $arguments;
21 
25  private $virtualTypes;
26 
30  private $preferences;
31 
35  public function __construct($data)
36  {
37  $this->arguments = isset($data['arguments']) && is_array($data['arguments'])
38  ? $data['arguments'] : [];
39  $this->virtualTypes = isset($data['instanceTypes']) && is_array($data['instanceTypes'])
40  ? $data['instanceTypes'] : [];
41  $this->preferences = isset($data['preferences']) && is_array($data['preferences'])
42  ? $data['preferences'] : [];
43  }
44 
54  public function setRelations(RelationsInterface $relations)
55  {
56  }
57 
68  {
69  }
70 
77  public function getArguments($type)
78  {
79  if (array_key_exists($type, $this->arguments)) {
80  if ($this->arguments[$type] === null) {
81  $this->arguments[$type] = [];
82  }
83  return $this->arguments[$type];
84  } else {
85  return null;
86  }
87  }
88 
96  public function isShared($type)
97  {
98  return true;
99  }
100 
107  public function getInstanceType($instanceName)
108  {
109  if (isset($this->virtualTypes[$instanceName])) {
110  return $this->virtualTypes[$instanceName];
111  }
112  return $instanceName;
113  }
114 
122  public function getPreference($type)
123  {
124  $type = ltrim($type, '\\');
125  if (isset($this->preferences[$type])) {
126  return $this->preferences[$type];
127  }
128  return $type;
129  }
130 
137  public function extend(array $configuration)
138  {
139  $this->arguments = isset($configuration['arguments']) && is_array($configuration['arguments'])
140  ? array_replace($this->arguments, $configuration['arguments'])
141  : $this->arguments;
142  $this->virtualTypes = isset($configuration['instanceTypes']) && is_array($configuration['instanceTypes'])
143  ? array_replace($this->virtualTypes, $configuration['instanceTypes'])
144  : $this->virtualTypes;
145  $this->preferences = isset($configuration['preferences']) && is_array($configuration['preferences'])
146  ? array_replace($this->preferences, $configuration['preferences'])
147  : $this->preferences;
148  }
149 
155  public function getVirtualTypes()
156  {
157  return $this->virtualTypes;
158  }
159 
165  public function getPreferences()
166  {
167  return $this->preferences;
168  }
169 }
$configuration
Definition: index.php:33
setCache(ConfigCacheInterface $cache)
Definition: Compiled.php:67
$type
Definition: item.phtml:13
setRelations(RelationsInterface $relations)
Definition: Compiled.php:54