Skip to content

Commit f07462e

Browse files
committed
Merge branch '1.11' into 1.12
* 1.11: Generate changelog for v1.11.0-RC.2 [Maintenance] Fix PHPStan errors related to class-string Generate changelog for v1.11.0-RC.1 Add missing experimental tags for new routing system Move attributes operation route factory into sylius resource namespace Move some routing namespaces
2 parents 8af1b10 + 9505386 commit f07462e

File tree

85 files changed

+302
-68
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+302
-68
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
## CHANGELOG
22

3+
## v1.11.0-RC.2 (2024-07-12)
4+
5+
#### Details
6+
7+
- [#900](https://github.com/Sylius/SyliusResourceBundle/issues/900) [Maintenance] Fix PHPStan errors related to class-string ([@lchrusciel](https://github.com/lchrusciel))
8+
9+
## v1.11.0-RC.1 (2024-07-11)
10+
11+
#### Details
12+
13+
- [#874](https://github.com/Sylius/SyliusResourceBundle/issues/874) Remove PHP 8.0 support & not maintained Symfony versions ([@loic425](https://github.com/loic425))
14+
- [#878](https://github.com/Sylius/SyliusResourceBundle/issues/878) Fix dependency injection namespace ([@loic425](https://github.com/loic425))
15+
- [#883](https://github.com/Sylius/SyliusResourceBundle/issues/883) Fix form parameter bags accesing in request handler ([@NoResponseMate](https://github.com/NoResponseMate))
16+
- [#895](https://github.com/Sylius/SyliusResourceBundle/issues/895) Move some routing factories into 2 sub-directories ([@loic425](https://github.com/loic425))
17+
- [#896](https://github.com/Sylius/SyliusResourceBundle/issues/896) Move attributes operation route factory into sylius resource namespace ([@loic425](https://github.com/loic425))
18+
- [#898](https://github.com/Sylius/SyliusResourceBundle/issues/898) [Maintenance] Fix builds ([@NoResponseMate](https://github.com/NoResponseMate))
19+
- [#899](https://github.com/Sylius/SyliusResourceBundle/issues/899) Add missing experimental tags for new routing system ([@loic425](https://github.com/loic425))
20+
321
## v1.11.0-BETA.2 (2024-05-14)
422

523
#### Details

phpstan.neon

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ includes:
55
- vendor/phpstan/phpstan-phpunit/rules.neon
66

77
parameters:
8-
checkGenericClassInNonGenericObjectType: false
9-
checkMissingIterableValueType: false
108
reportUnmatchedIgnoredErrors: false
119

1210
excludePaths:
@@ -72,7 +70,7 @@ parameters:
7270
- '/Parameter \#1 \$maxPerPage of method Pagerfanta\\Pagerfanta<mixed>::setMaxPerPage\(\) expects int<1, max>, int given\./'
7371
- '/Parameter \#1 \$array[0-9]? of function array_multisort expects array, array\|int given\./'
7472
- '/Parameter \#2 \$class of static method Webmozart\\Assert\\Assert::isInstanceOf\(\) expects class-string<object>, string given./'
75-
- '/Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class-string<object>|object, object|string given./'
73+
- '/Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class-string<object>\|object, object\|string given./'
7674
- '/Parameter \#1 \$package of method Symfony\\Component\\DependencyInjection\\Alias::setDeprecated\(\)/'
7775
- '/Return typehint of method Sylius\\Bundle\\ResourceBundle\\Routing\\CrudRoutesAttributesLoader::getClassAttributes\(\) has invalid type ReflectionAttribute./'
7876
- '/Return typehint of method Sylius\\Bundle\\ResourceBundle\\Routing\\RoutesAttributesLoader::getClassAttributes\(\) has invalid type ReflectionAttribute./'
@@ -102,3 +100,7 @@ parameters:
102100
- '/Parameter #1 \$submittedData of method Symfony\\Component\\Form\\FormInterface::submit\(\) expects array\|string\|null, mixed given\./'
103101
- '/Parameter #2 \$callback of function preg_replace_callback expects callable\(array<int\|string, string>\): string, Closure\(array\): mixed given\./'
104102
- '/Unable to resolve the template type T in call to method Doctrine\\Persistence\\ObjectManager::getClassMetadata\(\)/'
103+
-
104+
identifier: missingType.generics
105+
-
106+
identifier: missingType.iterableValue

src/Bundle/Resources/config/services/routing.xml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,56 +39,56 @@
3939
</service>
4040
<service id="Sylius\Bundle\ResourceBundle\Routing\RoutesAttributesLoader" alias="sylius.routing.loader.routes_attributes" public="false" />
4141

42-
<service id="sylius.routing.factory.operation_route_name_factory" class="Sylius\Resource\Symfony\Routing\Factory\OperationRouteNameFactory" public="false" />
43-
<service id="Sylius\Resource\Symfony\Routing\Factory\OperationRouteNameFactoryInterface" alias="sylius.routing.factory.operation_route_name_factory" />
42+
<service id="sylius.routing.factory.operation_route_name_factory" class="Sylius\Resource\Symfony\Routing\Factory\RouteName\OperationRouteNameFactory" public="false" />
43+
<service id="Sylius\Resource\Symfony\Routing\Factory\RouteName\OperationRouteNameFactoryInterface" alias="sylius.routing.factory.operation_route_name_factory" />
4444

45-
<service id="sylius.routing.factory.operation_route_path_factory.default" class="Sylius\Resource\Symfony\Routing\Factory\OperationRoutePathFactory" public="false" />
45+
<service id="sylius.routing.factory.operation_route_path_factory.default" class="Sylius\Resource\Symfony\Routing\Factory\RoutePath\OperationRoutePathFactory" public="false" />
4646

4747
<service id="sylius.routing.factory.operation_route_path_factory" alias="sylius.routing.factory.operation_route_path_factory.default" />
48-
<service id="Sylius\Resource\Symfony\Routing\Factory\OperationRoutePathFactoryInterface" alias="sylius.routing.factory.operation_route_path_factory" />
48+
<service id="Sylius\Resource\Symfony\Routing\Factory\RoutePath\OperationRoutePathFactoryInterface" alias="sylius.routing.factory.operation_route_path_factory" />
4949

5050
<service id="sylius.routing.factory.operation_route_path_factory.collection"
51-
class="Sylius\Resource\Symfony\Routing\Factory\CollectionOperationRoutePathFactory"
51+
class="Sylius\Resource\Symfony\Routing\Factory\RoutePath\CollectionOperationRoutePathFactory"
5252
decorates="sylius.routing.factory.operation_route_path_factory.default"
5353
decoration-priority="60"
5454
>
5555
<argument type="service" id=".inner" />
5656
</service>
5757

5858
<service id="sylius.routing.factory.operation_route_path_factory.create"
59-
class="Sylius\Resource\Symfony\Routing\Factory\CreateOperationRoutePathFactory"
59+
class="Sylius\Resource\Symfony\Routing\Factory\RoutePath\CreateOperationRoutePathFactory"
6060
decorates="sylius.routing.factory.operation_route_path_factory.default"
6161
decoration-priority="-50"
6262
>
6363
<argument type="service" id=".inner" />
6464
</service>
6565

6666
<service id="sylius.routing.factory.operation_route_path_factory.bulk_operation"
67-
class="Sylius\Resource\Symfony\Routing\Factory\BulkOperationRoutePathFactory"
67+
class="Sylius\Resource\Symfony\Routing\Factory\RoutePath\BulkOperationRoutePathFactory"
6868
decorates="sylius.routing.factory.operation_route_path_factory.default"
6969
decoration-priority="-40"
7070
>
7171
<argument type="service" id=".inner" />
7272
</service>
7373

7474
<service id="sylius.routing.factory.operation_route_path_factory.update"
75-
class="Sylius\Resource\Symfony\Routing\Factory\UpdateOperationRoutePathFactory"
75+
class="Sylius\Resource\Symfony\Routing\Factory\RoutePath\UpdateOperationRoutePathFactory"
7676
decorates="sylius.routing.factory.operation_route_path_factory.default"
7777
decoration-priority="-30"
7878
>
7979
<argument type="service" id=".inner" />
8080
</service>
8181

8282
<service id="sylius.routing.factory.operation_route_path_factory.delete"
83-
class="Sylius\Resource\Symfony\Routing\Factory\DeleteOperationRoutePathFactory"
83+
class="Sylius\Resource\Symfony\Routing\Factory\RoutePath\DeleteOperationRoutePathFactory"
8484
decorates="sylius.routing.factory.operation_route_path_factory.default"
8585
decoration-priority="-20"
8686
>
8787
<argument type="service" id=".inner" />
8888
</service>
8989

9090
<service id="sylius.routing.factory.operation_route_path_factory.show"
91-
class="Sylius\Resource\Symfony\Routing\Factory\ShowOperationRoutePathFactory"
91+
class="Sylius\Resource\Symfony\Routing\Factory\RoutePath\ShowOperationRoutePathFactory"
9292
decorates="sylius.routing.factory.operation_route_path_factory.default"
9393
decoration-priority="-10"
9494
>
@@ -98,12 +98,12 @@
9898
<service id="sylius.routing.factory.route_attributes" class="Sylius\Bundle\ResourceBundle\Routing\RouteAttributesFactory" public="false" />
9999
<service id="Sylius\Bundle\ResourceBundle\Routing\RouteAttributesFactoryInterface" alias="sylius.routing.factory.route_attributes" />
100100

101-
<service id="sylius.routing.factory.attributes_operation_route" class="Sylius\Bundle\ResourceBundle\Routing\AttributesOperationRouteFactory" public="false">
101+
<service id="sylius.routing.factory.attributes_operation_route" class="Sylius\Resource\Symfony\Routing\Factory\AttributesOperationRouteFactory" public="false">
102102
<argument type="service" id="sylius.resource_registry" />
103103
<argument type="service" id="sylius.routing.factory.operation_route" />
104104
<argument type="service" id="sylius.resource_metadata_collection.factory.attributes" />
105105
</service>
106-
<service id="Sylius\Bundle\ResourceBundle\Routing\AttributesOperationRouteFactoryInterface" alias="sylius.routing.factory.attributes_operation_route" />
106+
<service id="Sylius\Resource\Symfony\Routing\Factory\AttributesOperationRouteFactoryInterface" alias="sylius.routing.factory.attributes_operation_route" />
107107

108108
<service id="sylius.routing.factory.operation_route" class="Sylius\Resource\Symfony\Routing\Factory\OperationRouteFactory" public="false">
109109
<argument type="service" id="sylius.routing.factory.operation_route_path_factory" />

src/Bundle/Routing/CrudRoutesAttributesLoader.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,16 @@ public function __invoke(): RouteCollection
3939
$routeCollection = new RouteCollection();
4040
$paths = $this->mapping['paths'] ?? [];
4141

42-
/** @var string $className */
4342
foreach (ClassReflection::getResourcesByPaths($paths) as $className) {
4443
$this->addRoutesForSyliusCrudRoutesAttributes($routeCollection, $className);
4544
}
4645

4746
return $routeCollection;
4847
}
4948

49+
/**
50+
* @param class-string $className
51+
*/
5052
private function addRoutesForSyliusCrudRoutesAttributes(RouteCollection $routeCollection, string $className): void
5153
{
5254
$attributes = ClassReflection::getClassAttributes($className, SyliusCrudRoutes::class);

src/Bundle/Routing/RoutesAttributesLoader.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
namespace Sylius\Bundle\ResourceBundle\Routing;
1515

1616
use Sylius\Resource\Reflection\ClassReflection;
17+
use Sylius\Resource\Symfony\Routing\Factory\AttributesOperationRouteFactoryInterface;
1718
use Symfony\Bundle\FrameworkBundle\Routing\RouteLoaderInterface;
1819
use Symfony\Component\Routing\RouteCollection;
1920

@@ -31,7 +32,6 @@ public function __invoke(): RouteCollection
3132
$routeCollection = new RouteCollection();
3233
$paths = $this->mapping['paths'] ?? [];
3334

34-
/** @var string $className */
3535
foreach (ClassReflection::getResourcesByPaths($paths) as $className) {
3636
$this->routesAttributesFactory->createRouteForClass($routeCollection, $className);
3737
$this->attributesOperationRouteFactory->createRouteForClass($routeCollection, $className);

src/Bundle/spec/Routing/RoutesAttributesLoaderSpec.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515

1616
use PhpSpec\ObjectBehavior;
1717
use Prophecy\Argument;
18-
use Sylius\Bundle\ResourceBundle\Routing\AttributesOperationRouteFactoryInterface;
1918
use Sylius\Bundle\ResourceBundle\Routing\RouteAttributesFactoryInterface;
2019
use Sylius\Bundle\ResourceBundle\Routing\RoutesAttributesLoader;
20+
use Sylius\Resource\Symfony\Routing\Factory\AttributesOperationRouteFactoryInterface;
2121
use Symfony\Bundle\FrameworkBundle\Routing\RouteLoaderInterface;
2222
use Symfony\Component\Routing\RouteCollection;
2323

src/Component/legacy/tests/Reflection/ClassInfoTraitTest.php

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,38 @@ private function getClassInfoTraitImplementation(): object
2828
};
2929
}
3030

31-
public function testDoctrineRealClassName(): void
31+
/**
32+
* @dataProvider getValidClasses
33+
*/
34+
public function testRealClassName(string $class): void
3235
{
3336
$classInfo = $this->getClassInfoTraitImplementation();
3437

35-
$this->assertSame(Book::class, $classInfo->getRealClassName('Proxies\__CG__\App\Entity\Book'));
38+
$this->assertSame(Book::class, $classInfo->getRealClassName($class));
3639
}
3740

38-
public function testProxyManagerRealClassName(): void
41+
/**
42+
* @dataProvider getInvalidClasses
43+
*/
44+
public function testThrowsExceptionIfUnproxiedClassDoNotExist(string $class): void
3945
{
46+
$this->expectException(\InvalidArgumentException::class);
47+
4048
$classInfo = $this->getClassInfoTraitImplementation();
4149

42-
$this->assertSame(Book::class, $classInfo->getRealClassName('MongoDBODMProxies\__PM__\App\Entity\Book\Generated'));
50+
$classInfo->getRealClassName($class);
51+
}
52+
53+
public function getInvalidClasses(): Iterable
54+
{
55+
yield ['class' => 'Proxies\__CG__\App\Entity\Book1'];
56+
yield ['class' => 'MongoDBODMProxies\__PM__\App\Entity\Book1\Generated'];
57+
}
58+
59+
public function getValidClasses(): Iterable
60+
{
61+
yield ['class' => 'Proxies\__CG__\App\Entity\Book'];
62+
yield ['class' => 'MongoDBODMProxies\__PM__\App\Entity\Book\Generated'];
4363
}
4464

4565
public function testUnmarkedRealClassName(): void

src/Component/spec/Metadata/Resource/Factory/AttributesResourceMetadataCollectionFactorySpec.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
use Sylius\Resource\Metadata\Show;
4242
use Sylius\Resource\Metadata\Update;
4343
use Sylius\Resource\Symfony\Request\State\Responder;
44-
use Sylius\Resource\Symfony\Routing\Factory\OperationRouteNameFactory;
44+
use Sylius\Resource\Symfony\Routing\Factory\RouteName\OperationRouteNameFactory;
4545

4646
final class AttributesResourceMetadataCollectionFactorySpec extends ObjectBehavior
4747
{

src/Component/spec/Metadata/Resource/Factory/RedirectResourceMetadataCollectionFactorySpec.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
use Sylius\Resource\Metadata\ResourceMetadata;
2525
use Sylius\Resource\Metadata\Show;
2626
use Sylius\Resource\Metadata\Update;
27-
use Sylius\Resource\Symfony\Routing\Factory\OperationRouteNameFactory;
27+
use Sylius\Resource\Symfony\Routing\Factory\RouteName\OperationRouteNameFactory;
2828

2929
final class RedirectResourceMetadataCollectionFactorySpec extends ObjectBehavior
3030
{

src/Bundle/spec/Routing/AttributesOperationRouteFactorySpec.php renamed to src/Component/spec/Symfony/Routing/Factory/AttributesOperationRouteFactorySpec.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,10 @@
1111

1212
declare(strict_types=1);
1313

14-
namespace spec\Sylius\Bundle\ResourceBundle\Routing;
14+
namespace spec\Sylius\Resource\Symfony\Routing\Factory;
1515

1616
use PhpSpec\ObjectBehavior;
1717
use Prophecy\Argument;
18-
use Sylius\Bundle\ResourceBundle\Routing\AttributesOperationRouteFactory;
1918
use Sylius\Component\Resource\Tests\Dummy\DummyResourceWithOperations;
2019
use Sylius\Resource\Metadata\Create;
2120
use Sylius\Resource\Metadata\Index;
@@ -24,9 +23,10 @@
2423
use Sylius\Resource\Metadata\Resource\Factory\AttributesResourceMetadataCollectionFactory;
2524
use Sylius\Resource\Metadata\Show;
2625
use Sylius\Resource\Metadata\Update;
26+
use Sylius\Resource\Symfony\Routing\Factory\AttributesOperationRouteFactory;
2727
use Sylius\Resource\Symfony\Routing\Factory\OperationRouteFactory;
28-
use Sylius\Resource\Symfony\Routing\Factory\OperationRouteNameFactory;
29-
use Sylius\Resource\Symfony\Routing\Factory\OperationRoutePathFactoryInterface;
28+
use Sylius\Resource\Symfony\Routing\Factory\RouteName\OperationRouteNameFactory;
29+
use Sylius\Resource\Symfony\Routing\Factory\RoutePath\OperationRoutePathFactoryInterface;
3030
use Symfony\Component\Routing\RouteCollection;
3131
use Webmozart\Assert\Assert;
3232

0 commit comments

Comments
 (0)