From 323c5f211f755192625b6b5ce1931d6a8df3ac46 Mon Sep 17 00:00:00 2001 From: Tom Witkowski Date: Sun, 21 Jun 2020 11:55:32 +0200 Subject: [PATCH] pass calls to overloaded method if possible fix #108 --- src/Support/Reflection.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Support/Reflection.php b/src/Support/Reflection.php index 4c0cecf6..5b74b10e 100644 --- a/src/Support/Reflection.php +++ b/src/Support/Reflection.php @@ -27,11 +27,19 @@ final class Reflection { $reflectionClass = new ReflectionClass($object); - $reflectionMethod = $reflectionClass->getMethod($method); + try { + $reflectionMethod = $reflectionClass->getMethod($method); - $reflectionMethod->setAccessible(true); + $reflectionMethod->setAccessible(true); - return $reflectionMethod->invoke($object, ...$args); + return $reflectionMethod->invoke($object, ...$args); + } catch(ReflectionException $ex) { + if (method_exists($object, '__call')) { + return $object->__call($method, $args); + } + + throw $ex; + } } /**