protected function explodeAutoloadConfiguration()
{
$this->namespaces = [];
$this->autoloadTypes = [];
$this->flattenedAutoloadConfiguration = [];
$allAutoloadConfiguration = $this->autoloadConfiguration;
foreach ($allAutoloadConfiguration as $autoloadType => $autoloadConfiguration) {
$this->autoloadTypes[] = $autoloadType;
if (ClassLoader::isAutoloadTypeWithPredictableClassPath($autoloadType)) {
$this->namespaces = array_merge($this->namespaces, array_keys($autoloadConfiguration));
foreach ($autoloadConfiguration as $namespace => $paths) {
$paths = (array) $paths;
foreach ($paths as $path) {
$this->flattenedAutoloadConfiguration[] = ['namespace' => $namespace, 'classPath' => $this->packagePath . $path, 'mappingType' => $autoloadType];
}
}
}
}
}