Skip to content

Commit b155412

Browse files
committed
fix(deprecation): alias before autoload if needed
1 parent e21a01a commit b155412

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

src/deprecation.php

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,18 @@
1111

1212
declare(strict_types=1);
1313

14+
function alias(string $class, string $alias)
15+
{
16+
if (class_exists($alias) || interface_exists($alias)) {
17+
return;
18+
}
19+
20+
class_alias($class, $alias);
21+
}
22+
1423
// Must be declared first!
15-
class_alias(ApiPlatform\Api\FilterInterface::class, ApiPlatform\Core\Api\FilterInterface::class);
16-
class_alias(ApiPlatform\Api\ResourceClassResolverInterface::class, ApiPlatform\Core\Api\ResourceClassResolverInterface::class);
24+
alias(ApiPlatform\Api\FilterInterface::class, ApiPlatform\Core\Api\FilterInterface::class);
25+
alias(ApiPlatform\Api\ResourceClassResolverInterface::class, ApiPlatform\Core\Api\ResourceClassResolverInterface::class);
1726

1827
$deprecatedInterfaces = include 'deprecated_interfaces.php';
1928
foreach ($deprecatedInterfaces as $oldInterfaceName => $interfaceName) {
@@ -397,6 +406,10 @@ class_alias($interfaceName, $oldInterfaceName);
397406
ApiPlatform\Core\GraphQl\Type\TypesContainer::class => ApiPlatform\GraphQl\Type\TypesContainer::class,
398407
];
399408

409+
foreach ($deprecatedClassesWithAliases as $alias => $class) {
410+
alias($class, $alias);
411+
}
412+
400413
// These classes are deprecated but we don't want aliases as the interfaces changed
401414
$deprecatedClassesWithoutAliases = [
402415
ApiPlatform\Core\DataProvider\Pagination::class => ApiPlatform\State\Pagination\Pagination::class,
@@ -464,7 +477,7 @@ class_alias($interfaceName, $oldInterfaceName);
464477
if (isset($deprecatedClassesWithAliases[$className])) {
465478
trigger_deprecation('api-platform/core', '2.7', sprintf('The class %s is deprecated, use %s instead.', $className, $deprecatedClassesWithAliases[$className]));
466479

467-
class_alias($deprecatedClassesWithAliases[$className], $className);
480+
alias($deprecatedClassesWithAliases[$className], $className);
468481

469482
return;
470483
}

0 commit comments

Comments
 (0)