/** * Parse array argument * * @param array $array * @return void */ protected function parseArray(&$array) { foreach ($array as $key => $item) { if (is_array($item)) { if (isset($item['instance'])) { $itemType = $item['instance']; $isShared = isset($item['shared']) ? $item['shared'] : $this->config->isShared($itemType); $array[$key] = $isShared ? $this->objectManager->get($itemType) : $this->objectManager->create($itemType); } elseif (isset($item['argument'])) { $array[$key] = isset($this->globalArguments[$item['argument']]) ? $this->globalArguments[$item['argument']] : null; } else { $this->parseArray($item); } } } }