From 9aaee3dab9a32408c4b122b92d64a15404958451 Mon Sep 17 00:00:00 2001 From: Nestor Soriano Date: Mon, 19 Oct 2020 08:44:47 +0200 Subject: [PATCH] Fix for compatibility of reflection function with PHP 7.0 --- .../DependencyManagement/AbstractServiceProvider.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Internal/DependencyManagement/AbstractServiceProvider.php b/src/Internal/DependencyManagement/AbstractServiceProvider.php index 7f2b745bcab20..bd1409ebda3ca 100644 --- a/src/Internal/DependencyManagement/AbstractServiceProvider.php +++ b/src/Internal/DependencyManagement/AbstractServiceProvider.php @@ -72,6 +72,11 @@ protected function add_with_auto_arguments( string $class_name, $concrete = null * @return \ReflectionClass|null The class of the parameter, or null if it hasn't any. */ private function get_class( \ReflectionParameter $parameter ) { + // TODO: Remove this 'if' block once minimum PHP version for WooCommerce is bumped to at least 7.1. + if ( version_compare( PHP_VERSION, '7.1', '<' ) ) { + return $parameter->getClass(); + } + return $parameter->getType() && ! $parameter->getType()->isBuiltin() ? new \ReflectionClass( $parameter->getType()->getName() ) : null;