diff --git a/src/Data2DtoConverter.php b/src/Data2DtoConverter.php index 560eade..8c7d10b 100644 --- a/src/Data2DtoConverter.php +++ b/src/Data2DtoConverter.php @@ -320,14 +320,17 @@ class Data2DtoConverter private function getValue(object $object, \ReflectionProperty $property) { - if (!$property->isInitialized($object)) { - return null; - } - if (!$property->isPublic()) { $property->setAccessible(true); } + if (!$property->isInitialized($object)) { + if (!$property->isPublic()) { + $property->setAccessible(false); + } + return null; + } + $value = $property->getValue($object); if (!$property->isPublic()) { diff --git a/tests/unit/Converter/fixtures/FillTest/HelloRequest.php b/tests/unit/Converter/fixtures/FillTest/HelloRequest.php index b3a4d0a..42c6232 100644 --- a/tests/unit/Converter/fixtures/FillTest/HelloRequest.php +++ b/tests/unit/Converter/fixtures/FillTest/HelloRequest.php @@ -18,4 +18,16 @@ class HelloRequest public BuyRequest $buy; #[DTOMeta(class: Bar::class)] public BarInterface $bar; + + private BuyRequest $buy2; + + public function getBuy2(): BuyRequest + { + return $this->buy2; + } + + public function setBuy2(BuyRequest $buy2): void + { + $this->buy2 = $buy2; + } }