/var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/bake/src/CodeGen
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/bake/src/CodeGen/ImportHelper.php (2900B)
name] format.
*
* @param array
$imports Imports
* @return array
*/
public static function normalize(array $imports): array
{
$normalized = [];
foreach ($imports as $alias => $class) {
if (is_int($alias)) {
$last = strrpos($class, '\\', -1);
if ($last !== false) {
$alias = substr($class, strrpos($class, '\\', -1) + 1);
} else {
$alias = $class;
}
}
$normalized[$alias] = $class;
}
return $normalized;
}
/**
* Merges imports allowing for duplicates and collisions.
*
* @param array $existing Existing imports to merge into
* @param array $imports Imports to merge into existing
* @param \Cake\Console\ConsoleIo|null $io Used to output warnings on collisions
* @return array
*/
public static function merge(array $existing, array $imports, ?ConsoleIo $io = null): array
{
$existing = static::normalize($existing);
foreach (static::normalize($imports) as $alias => $class) {
if (isset($existing[$alias]) && $existing[$alias] !== $class) {
if ($io) {
$io->warning(sprintf(
'Import `%s` conflicts with existing import, discarding.',
$class
));
}
continue;
}
$existingAlias = array_search($class, $existing, true);
if ($existingAlias !== false && $existingAlias != $alias) {
if ($io) {
$io->warning(sprintf(
'Import `%s` conflicts with existing import, discarding.',
$class
));
}
continue;
}
$existing[$alias] = $class;
}
asort($existing, SORT_STRING | SORT_FLAG_CASE);
return $existing;
}
}