From d7facd9cc7caf0b35c3b5e605aa7a484fc3dd0a3 Mon Sep 17 00:00:00 2001 From: Rinsvent Date: Mon, 3 Jan 2022 23:00:11 +0700 Subject: [PATCH] =?UTF-8?q?feature:=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=D0=BB=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=20?= =?UTF-8?q?=D0=BA=20=D0=BF=D1=80=D0=B8=D0=B2=D0=B0=D1=82=D0=BD=D0=BE=D0=BC?= =?UTF-8?q?=D1=83=20=D1=81=D0=B2=D0=BE=D0=B9=D1=81=D1=82=D0=B2=D1=83=20?= =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B8=D0=BB=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Data2DtoConverter.php | 11 +++++++---- .../Converter/fixtures/FillTest/HelloRequest.php | 12 ++++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) 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; + } }