Closed
Description
Symfony version(s) affected
7.1.4
Description
Calling the ->normalize() on an object with a static array property causes a warning:
Undefined property: App\Tests\Unit\TestClass::$foo
This used to work on 7.1.1. This is caused by:
Working code:
How to reproduce
class ObjectNormalizerTest extends \PHPUnit\Framework\TestCase
{
public function testNormalizing(): void
{
$normalizer = new ObjectNormalizer(new ClassMetadataFactory(new AttributeLoader()));
$test = new TestClass;
$normalizer->normalize($test);
}
}
class TestClass
{
public static array $foo = ['bar'];
}
`
```
### Possible Solution
_No response_
### Additional Context
A stack trace showing how we get to the issue in PropertyAccessor:
```
#0 /opt/projects/zumba//vendor/symfony/property-access/PropertyAccessor.php(323): Symfony\Component\PropertyAccess\PropertyAccessor->readProperty()
#1 /opt/projects/zumba//vendor/symfony/property-access/PropertyAccessor.php(222): Symfony\Component\PropertyAccess\PropertyAccessor->readPropertiesUntil()
#2 /opt/projects/zumba//vendor/symfony/serializer/Normalizer/ObjectNormalizer.php(181): Symfony\Component\PropertyAccess\PropertyAccessor->isReadable()
#3 /opt/projects/zumba//vendor/symfony/serializer/Normalizer/AbstractNormalizer.php(245): Symfony\Component\Serializer\Normalizer\ObjectNormalizer->isAllowedAttribute()
#4 /opt/projects/zumba//vendor/symfony/serializer/Normalizer/ObjectNormalizer.php(148): Symfony\Component\Serializer\Normalizer\AbstractNormalizer->getAllowedAttributes()
#5 /opt/projects/zumba//vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php(257): Symfony\Component\Serializer\Normalizer\ObjectNormalizer->getAllowedAttributes()
#6 /opt/projects/zumba//vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php(170): Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->getAttributes()
#7 /opt/projects/zumba//tests/Unit/ObjectNormalizerTest.php(17): Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->normalize()
#8 /opt/projects/zumba//vendor/phpunit/phpunit/src/Framework/TestCase.php(1188): App\Tests\Unit\ObjectNormalizerTest->testNormalizing()
```