/** * @param string $path * @param DependencyConfigurationInterface $config */ public function addConfigFileToConfiguration($path, $config) { $configFileAsArray = Yaml::parse($path); foreach ($configFileAsArray['awin-dependency-injection'] as $configSetting) { $dependencyName = $configSetting['dependency-name']; if (isset($configSetting['param-types'])) { foreach ($configSetting['param-types'] as $subdependencyName => $subdependencyType) { $config->setSubdependencyType($dependencyName, $subdependencyName, $subdependencyType); } } if (isset($configSetting['param-values'])) { foreach ($configSetting['param-values'] as $subdependencyName => $subdependencyValue) { $config->setSubdependencyValue($dependencyName, $subdependencyName, $subdependencyValue); } } } }
/** * @param string $dependencyClassname * @param ReflectionParameter $subdependencyReflectionParam * @return string */ protected function getSubdependencyType($dependencyClassname, $subdependencyReflectionParam) { if ($this->configuration->hasSubdependencyType($dependencyClassname, $subdependencyReflectionParam->name)) { $typeToReturn = $this->configuration->getSubdependencyType($dependencyClassname, $subdependencyReflectionParam->name); $this->errorCheckConfiguredSubdependencyType($subdependencyReflectionParam, $typeToReturn, $dependencyClassname); } else { $typeToReturn = $subdependencyReflectionParam->getClass()->name; } return $typeToReturn; }