Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Production.php
Go to the documentation of this file.
1 <?php
7 
9 {
22  protected function _resolveArguments($requestedType, array $parameters, array $arguments = [])
23  {
24  $resolvedArguments = [];
25  $arguments = count($arguments)
26  ? array_replace($this->config->getArguments($requestedType), $arguments)
27  : $this->config->getArguments($requestedType);
28  foreach ($parameters as $parameter) {
29  list($paramName, $paramType, $paramRequired, $paramDefault) = $parameter;
30  $argument = null;
31  if (!empty($arguments) && (isset($arguments[$paramName]) || array_key_exists($paramName, $arguments))) {
32  $argument = $arguments[$paramName];
33  } elseif ($paramRequired) {
34  $argument = ['instance' => $paramType];
35  } else {
36  $argument = $paramDefault;
37  }
38 
39  $this->resolveArgument($argument, $paramType, $paramDefault, $paramName, $requestedType);
40 
41  $resolvedArguments[] = $argument;
42  }
43  return $resolvedArguments;
44  }
45 
56  public function create($requestedType, array $arguments = [])
57  {
58  $type = $this->config->getInstanceType($requestedType);
59  $parameters = $this->definitions->getParameters($type);
60  if ($parameters == null) {
61  return new $type();
62  }
63  $args = $this->_resolveArguments($requestedType, $parameters, $arguments);
64 
65  return $this->createObject($type, $args);
66  }
67 }
_resolveArguments($requestedType, array $parameters, array $arguments=[])
Definition: Production.php:22
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17
$type
Definition: item.phtml:13
resolveArgument(&$argument, $paramType, $paramDefault, $paramName, $requestedType)
$arguments
create($requestedType, array $arguments=[])
Definition: Production.php:56