Skip to content

Commit b291259

Browse files
committed
update dependencies
1 parent 0b1dedb commit b291259

File tree

8 files changed

+126
-31
lines changed

8 files changed

+126
-31
lines changed

.github/workflows/php.yml

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

1616
strategy:
1717
matrix:
18-
php-versions: [ '7.4', '8.0' ]
18+
php-versions: [ '7.4', '8.0', '8.1' ]
1919

2020
steps:
2121
- uses: actions/checkout@v2

composer.json

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@
3232
"require": {
3333
"php": "^7.4|^8.0",
3434

35-
"symfony/framework-bundle": "^4.4|^5.0|^6.0",
36-
"symfony/config": "^4.4|^5.0|^6.0",
37-
"symfony/http-kernel": "^4.4|^5.0|^6.0",
38-
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
39-
"symfony/form": "^4.4|^5.0|^6.0",
40-
"symfony/yaml": "^4.4|^5.0|^6.0",
41-
"symfony/options-resolver": "^4.4|^5.0|^6.0",
42-
"symfony/property-access": "^4.4|^5.0|^6.0",
43-
"symfony/property-info": "^4.4|^5.0|^6.0",
35+
"symfony/framework-bundle": "^4.4|^5.4|^6.0",
36+
"symfony/config": "^4.4|^5.4|^6.0",
37+
"symfony/http-kernel": "^4.4|^5.4|^6.0",
38+
"symfony/dependency-injection": "^4.4|^5.4|^6.0",
39+
"symfony/form": "^4.4|^5.4|^6.0",
40+
"symfony/yaml": "^4.4|^5.4|^6.0",
41+
"symfony/options-resolver": "^4.4|^5.4|^6.0",
42+
"symfony/property-access": "^4.4|^5.4|^6.0",
43+
"symfony/property-info": "^4.4|^5.4|^6.0",
4444

4545
"doctrine/persistence": "^1.3|^2.0",
4646
"webmozart/assert": "^1.9"
@@ -49,15 +49,16 @@
4949
"icanhazstring/composer-unused": "~0.7",
5050
"doctrine/coding-standard": "^9.0",
5151
"roave/security-advisories": "dev-master",
52-
"squizlabs/php_codesniffer": "^3.5",
53-
"phpstan/phpstan": "~0.12",
54-
"phpstan/phpstan-deprecation-rules": "~0.12",
55-
"phpstan/phpstan-phpunit": "~0.12",
56-
"phpstan/phpstan-strict-rules": "~0.12",
57-
"phpstan/phpstan-webmozart-assert": "~0.12",
58-
"maglnet/composer-require-checker": "^2.0",
59-
"phpunit/phpunit": "^9.2",
60-
"symfony/var-dumper": "^5.0"
52+
"squizlabs/php_codesniffer": "^3.6",
53+
"phpstan/phpstan": "~1.2",
54+
"phpstan/phpstan-deprecation-rules": "~1.0",
55+
"phpstan/phpstan-phpunit": "~1.0",
56+
"phpstan/phpstan-strict-rules": "~1.1",
57+
"phpstan/phpstan-webmozart-assert": "~1.0",
58+
"maglnet/composer-require-checker": "^4.0",
59+
"phpunit/phpunit": "^9.5",
60+
"symfony/var-dumper": "^6.0",
61+
"phpstan/phpstan-symfony": "^1.0"
6162
},
6263
"autoload": {
6364
"psr-4": {
@@ -95,5 +96,11 @@
9596
]
9697
},
9798
"minimum-stability": "dev",
98-
"prefer-stable": true
99+
"prefer-stable": true,
100+
"config": {
101+
"allow-plugins": {
102+
"dealerdirect/phpcodesniffer-composer-installer": true,
103+
"icanhazstring/composer-unused": true
104+
}
105+
}
99106
}

phpstan-baseline.neon

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
parameters:
2+
ignoreErrors:
3+
-
4+
message: "#^Parameter \\#1 \\$objectOrArray of method Symfony\\\\Component\\\\PropertyAccess\\\\PropertyAccessor\\:\\:getValue\\(\\) expects array\\|object, mixed given\\.$#"
5+
count: 1
6+
path: src/Form/DataTransformer/ObjectToIdTransformer.php
7+
8+
-
9+
message: "#^Parameter \\#1 \\$objectOrArray of method Symfony\\\\Component\\\\PropertyAccess\\\\PropertyAccessor\\:\\:isReadable\\(\\) expects array\\|object, mixed given\\.$#"
10+
count: 1
11+
path: src/Form/DataTransformer/ObjectToIdTransformer.php
12+
13+
-
14+
message: "#^Parameter \\#4 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, mixed given\\.$#"
15+
count: 1
16+
path: src/Form/DataTransformer/ObjectToIdTransformer.php
17+
18+
-
19+
message: "#^Return type \\(mixed\\) of method Shapecode\\\\Bundle\\\\HiddenEntityTypeBundle\\\\Form\\\\DataTransformer\\\\ObjectToIdTransformer\\:\\:transform\\(\\) should be covariant with return type \\(string\\|null\\) of method Symfony\\\\Component\\\\Form\\\\DataTransformerInterface\\<object,string\\>\\:\\:transform\\(\\)$#"
20+
count: 2
21+
path: src/Form/DataTransformer/ObjectToIdTransformer.php
22+
23+
-
24+
message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#"
25+
count: 1
26+
path: src/Form/DataTransformer/ObjectsToIdTransformer.php
27+
28+
-
29+
message: "#^Parameter \\#1 \\$objectOrArray of method Symfony\\\\Component\\\\PropertyAccess\\\\PropertyAccessor\\:\\:getValue\\(\\) expects array\\|object, mixed given\\.$#"
30+
count: 1
31+
path: src/Form/DataTransformer/ObjectsToIdTransformer.php
32+
33+
-
34+
message: "#^Parameter \\#1 \\$objectOrArray of method Symfony\\\\Component\\\\PropertyAccess\\\\PropertyAccessor\\:\\:isReadable\\(\\) expects array\\|object, mixed given\\.$#"
35+
count: 1
36+
path: src/Form/DataTransformer/ObjectsToIdTransformer.php
37+
38+
-
39+
message: "#^Parameter \\#2 \\$string of function explode expects string, mixed given\\.$#"
40+
count: 1
41+
path: src/Form/DataTransformer/ObjectsToIdTransformer.php
42+
43+
-
44+
message: "#^Parameter \\#4 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, mixed given\\.$#"
45+
count: 1
46+
path: src/Form/DataTransformer/ObjectsToIdTransformer.php
47+
48+
-
49+
message: "#^Return type \\(mixed\\) of method Shapecode\\\\Bundle\\\\HiddenEntityTypeBundle\\\\Form\\\\DataTransformer\\\\ObjectsToIdTransformer\\:\\:transform\\(\\) should be covariant with return type \\(string\\|null\\) of method Symfony\\\\Component\\\\Form\\\\DataTransformerInterface\\<array\\<object\\>,string\\>\\:\\:transform\\(\\)$#"
50+
count: 2
51+
path: src/Form/DataTransformer/ObjectsToIdTransformer.php
52+
53+
-
54+
message: "#^PHPDoc tag @param for parameter \\$class contains unresolvable type\\.$#"
55+
count: 1
56+
path: src/Form/DataTransformer/Transformer.php
57+
58+
-
59+
message: "#^PHPDoc tag @var for variable \\$class contains unresolvable type\\.$#"
60+
count: 1
61+
path: src/Form/Type/HiddenObjectType.php
62+

phpstan.neon

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ includes:
55
- vendor/phpstan/phpstan-phpunit/extension.neon
66
- vendor/phpstan/phpstan-phpunit/rules.neon
77
- vendor/phpstan/phpstan-webmozart-assert/extension.neon
8+
- vendor/phpstan/phpstan-symfony/extension.neon
9+
- vendor/phpstan/phpstan-symfony/rules.neon
10+
- phpstan-baseline.neon
811

912
parameters:
1013
checkMissingIterableValueType: false

src/Form/DataTransformer/ObjectToIdTransformer.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,15 @@
1010

1111
use function sprintf;
1212

13+
/**
14+
* @template-extends Transformer<object, string>
15+
*/
1316
class ObjectToIdTransformer extends Transformer
1417
{
1518
/**
16-
* @param mixed $entity
19+
* @param object|mixed $entity
1720
*
18-
* @return string|int|float|null
21+
* @return mixed|string
1922
*/
2023
public function transform($entity)
2124
{
@@ -36,7 +39,7 @@ public function transform($entity)
3639
}
3740

3841
/**
39-
* @param mixed $id
42+
* @param string|mixed $id
4043
*/
4144
public function reverseTransform($id): ?object
4245
{

src/Form/DataTransformer/ObjectsToIdTransformer.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,15 @@
1313
use function implode;
1414
use function sprintf;
1515

16+
/**
17+
* @template-extends Transformer<object[], string>
18+
*/
1619
class ObjectsToIdTransformer extends Transformer
1720
{
1821
/**
19-
* @param object[]|array|mixed $entity
22+
* @param object[]|mixed $entity
2023
*
21-
* @return string|int|float|null
24+
* @return string|mixed
2225
*/
2326
public function transform($entity)
2427
{
@@ -45,9 +48,9 @@ public function transform($entity)
4548
}
4649

4750
/**
48-
* @param mixed $id
51+
* @param string|mixed $id
4952
*
50-
* @return array|object[]
53+
* @return object[]
5154
*/
5255
public function reverseTransform($id): array
5356
{

src/Form/DataTransformer/Transformer.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515
use function in_array;
1616
use function sprintf;
1717

18+
/**
19+
* @template TKey
20+
* @template T
21+
* @template-implements DataTransformerInterface<TKey, T>
22+
*/
1823
abstract class Transformer implements DataTransformerInterface
1924
{
2025
protected ManagerRegistry $registry;
@@ -24,6 +29,9 @@ abstract class Transformer implements DataTransformerInterface
2429

2530
protected string $property;
2631

32+
/**
33+
* @param string<class-string> $class
34+
*/
2735
public function __construct(
2836
ManagerRegistry $registry,
2937
string $class,

src/Form/Type/HiddenObjectType.php

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
use Symfony\Component\Form\FormBuilderInterface;
1313
use Symfony\Component\OptionsResolver\OptionsResolver;
1414

15+
use function assert;
16+
use function is_string;
17+
1518
class HiddenObjectType extends AbstractType
1619
{
1720
protected ManagerRegistry $registry;
@@ -22,16 +25,22 @@ public function __construct(ManagerRegistry $registry)
2225
}
2326

2427
/**
25-
* @param mixed[] $options
28+
* @param array<string, mixed> $options
2629
*/
2730
public function buildForm(FormBuilderInterface $builder, array $options): void
2831
{
2932
$transformerClassName = $options['multiple'] === true ? ObjectsToIdTransformer::class : ObjectToIdTransformer::class;
3033

34+
/** @var string<class-string> $class */
35+
$class = $options['class'];
36+
37+
$property = $options['property'];
38+
assert(is_string($property));
39+
3140
$transformer = new $transformerClassName(
3241
$this->registry,
33-
$options['class'],
34-
$options['property']
42+
$class,
43+
$property
3544
);
3645

3746
$builder->addModelTransformer($transformer);
@@ -49,7 +58,7 @@ public function configureOptions(OptionsResolver $resolver): void
4958
]);
5059

5160
$resolver->setAllowedTypes('invalid_message', ['null', 'string']);
52-
$resolver->setAllowedTypes('property', ['null', 'string']);
61+
$resolver->setAllowedTypes('property', ['string']);
5362
$resolver->setAllowedTypes('multiple', ['boolean']);
5463
}
5564

0 commit comments

Comments
 (0)