From 25225ee11ebcb37c1a8711dd3e433ded39675bf9 Mon Sep 17 00:00:00 2001 From: sy-records <52o@qq52o.cn> Date: Thu, 20 Aug 2020 16:34:41 +0800 Subject: [PATCH 1/4] fix ArgumentCountError --- src/DataParser.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DataParser.php b/src/DataParser.php index 2ca2ac6..bfc3f13 100644 --- a/src/DataParser.php +++ b/src/DataParser.php @@ -81,7 +81,7 @@ public static function __callStatic($name, $arguments) } $callMap = static::getCallableMap(); if (TypeDetector::canBeArray($var) && isset($callMap[$name]['supports']['array'])) { - return $callMap[$name]['supports']['array']($var); + return $callMap[$name]['supports']['array'](...$arguments); } elseif (TypeDetector::canBeString($var) && isset($callMap[$name]['supports']['string'])) { return $callMap[$name]['supports']['string']($var); } elseif (is_object($var) && isset($callMap[$name]['supports']['object'])) { From 5d5cb446eb76d2b08cdf8c2d83f6f8b97b14fd5e Mon Sep 17 00:00:00 2001 From: sy-records <52o@qq52o.cn> Date: Fri, 21 Aug 2020 17:54:40 +0800 Subject: [PATCH 2/4] add xml to array --- src/DataParser.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/DataParser.php b/src/DataParser.php index bfc3f13..858bcf0 100644 --- a/src/DataParser.php +++ b/src/DataParser.php @@ -23,6 +23,7 @@ * @method static string toXmlString(array $var) * @method static DOMDocument toDomObject(string $var) * @method static string toMultipartString(array $var, string $boundary) + * @method static array toXmlArray(string $xml) */ class DataParser { @@ -177,4 +178,12 @@ public static function arrayToMultipartString(array $var, string $boundary): str return $ret; } + + public static function stringToXmlArray(string $xml): array + { + libxml_disable_entity_loader(true); + $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); + $array = json_decode(json_encode($xmlstring), true); + return $array; + } } From 65d35f67ebe71f160afaf63c7a67fbd77a768c94 Mon Sep 17 00:00:00 2001 From: sy-records <52o@qq52o.cn> Date: Fri, 21 Aug 2020 18:11:40 +0800 Subject: [PATCH 3/4] fix --- src/DataParser.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/DataParser.php b/src/DataParser.php index 858bcf0..3966b59 100644 --- a/src/DataParser.php +++ b/src/DataParser.php @@ -84,9 +84,9 @@ public static function __callStatic($name, $arguments) if (TypeDetector::canBeArray($var) && isset($callMap[$name]['supports']['array'])) { return $callMap[$name]['supports']['array'](...$arguments); } elseif (TypeDetector::canBeString($var) && isset($callMap[$name]['supports']['string'])) { - return $callMap[$name]['supports']['string']($var); + return $callMap[$name]['supports']['string'](...$arguments); } elseif (is_object($var) && isset($callMap[$name]['supports']['object'])) { - return $callMap[$name]['supports']['object']($var); + return $callMap[$name]['supports']['object'](...$arguments); } throw new InvalidArgumentException( From c3bfc98997e57e5f1b83c482ccf2082f09933517 Mon Sep 17 00:00:00 2001 From: twosee Date: Mon, 24 Aug 2020 18:00:41 +0800 Subject: [PATCH 4/4] Update DataParser.php --- src/DataParser.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/DataParser.php b/src/DataParser.php index 3966b59..a3f0197 100644 --- a/src/DataParser.php +++ b/src/DataParser.php @@ -183,7 +183,7 @@ public static function stringToXmlArray(string $xml): array { libxml_disable_entity_loader(true); $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); - $array = json_decode(json_encode($xmlstring), true); - return $array; + + return json_decode(json_encode($xmlstring), true); } }