@@ -281,7 +281,7 @@ public function getCustomAttributeValueByType(array $attributeValues, $type)
281281 }
282282
283283 /** @var array */
284- private $ settersCache = [];
284+ private array $ settersCache = [];
285285
286286 /**
287287 * Get list of setters for object
@@ -295,17 +295,19 @@ private function getSetters(object $dataObject): array
295295 if (!isset ($ this ->settersCache [$ class ])) {
296296 $ dataObjectMethods = get_class_methods ($ class );
297297 // use regexp to manipulate with method list as it use jit starting with PHP 7.3
298- $ setters = explode (
299- ', ' ,
300- strtolower (
301- // (0) remove all not setter
302- // (1) add _ before upper letter
303- // (2) remove set_ in start of name
304- // (3) add name without is_ prefix
305- preg_replace (
306- ['/(^|,)(?!set)[^,]*/S ' ,'/(.)([A-Z])/S ' , '/(^|,)set_/iS ' , '/(^|,)is_([^,]+)/is ' ],
307- ['' , '$1_$2 ' , '$1 ' , '$1$2,is_$2 ' ],
308- implode (', ' , $ dataObjectMethods )
298+ $ setters = array_filter (
299+ explode (
300+ ', ' ,
301+ strtolower (
302+ // (0) remove all not setter
303+ // (1) add _ before upper letter
304+ // (2) remove set_ in start of name
305+ // (3) add name without is_ prefix
306+ preg_replace (
307+ ['/(^|,)(?!set)[^,]*/S ' ,'/(.)([A-Z])/S ' , '/(^|,)set_/iS ' , '/(^|,)is_([^,]+)/is ' ],
308+ ['' , '$1_$2 ' , '$1 ' , '$1$2,is_$2 ' ],
309+ implode (', ' , $ dataObjectMethods )
310+ )
309311 )
310312 )
311313 );
0 commit comments