Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 81f4f19

Browse files
committed
up: obj, url - update some helper method logic
1 parent f759b58 commit 81f4f19

File tree

3 files changed

+27
-27
lines changed

3 files changed

+27
-27
lines changed

‎src/Obj/AbstractObj.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,6 @@ public function __construct(array $config = [])
3636
*/
3737
public function toArray(): array
3838
{
39-
return Obj::toArray($this);
39+
return Obj::toArray($this, false, false);
4040
}
4141
}

‎src/Obj/ObjectHelper.php

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,11 @@ class ObjectHelper
5959
* - 会先尝试用 setter 方法设置属性
6060
* - 再尝试直接设置属性
6161
*
62-
* @template T object
63-
* @param T $object An object instance
62+
* @param object $object An object instance
6463
* @param array $config
6564
* @param bool $toCamel
6665
*
67-
* @return T
66+
* @return object
6867
*/
6968
public static function init(object $object, array $config, bool $toCamel = false): object
7069
{
@@ -159,25 +158,26 @@ public static function decode(string $txt, bool|array $allowedClasses): mixed
159158
/**
160159
* PHP对象转换成为数组
161160
*
162-
* @param object $data
161+
* @param object $obj
163162
* @param bool $recursive
163+
* @param bool $checkMth in the data obj
164164
*
165165
* @return array
166166
*/
167-
public static function toArray(object $data, bool $recursive = false): array
167+
public static function toArray(object $obj, bool $recursive = false, bool$checkMth = true): array
168168
{
169-
if ($data instanceof Traversable) {
170-
$arr = iterator_to_array($data);
171-
} elseif (method_exists($data, 'toArray')) {
172-
$arr = $data->toArray();
169+
if ($obj instanceof Traversable) {
170+
$arr = iterator_to_array($obj);
171+
} elseif ($checkMth && method_exists($obj, self::TO_ARRAY_METHOD)) {
172+
$arr = $obj->toArray();
173173
} else {
174-
$arr = get_object_vars($data);
174+
$arr = get_object_vars($obj);
175175
}
176176

177177
if ($recursive) {
178178
foreach ($arr as $key => $value) {
179179
if (is_object($value)) {
180-
$arr[$key] = static::toArray($value, $recursive);
180+
$arr[$key] = static::toArray($value, $recursive, $checkMth);
181181
}
182182
}
183183
}

‎src/Str/UrlHelper.php

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,29 @@
1010
namespace Toolkit\Stdlib\Str;
1111

1212
use InvalidArgumentException;
13-
use function implode;
14-
use function preg_match;
15-
use function http_build_query;
16-
use function curl_init;
17-
use function curl_setopt;
1813
use function curl_exec;
1914
use function curl_getinfo;
15+
use function curl_init;
16+
use function curl_setopt;
17+
use function file_get_contents;
2018
use function function_exists;
2119
use function get_headers;
22-
use function stream_context_create;
23-
use function file_get_contents;
20+
use function http_build_query;
21+
use function implode;
22+
use function mb_convert_encoding;
2423
use function parse_url;
24+
use function preg_match;
25+
use function rawurlencode;
26+
use function str_replace;
27+
use function stream_context_create;
2528
use function strpos;
2629
use function trim;
2730
use function urldecode;
28-
use function rawurlencode;
29-
use function mb_convert_encoding;
30-
use function str_replace;
3131
use function urlencode;
32-
use const CURLOPT_NOBODY;
32+
use const CURLINFO_HTTP_CODE;
3333
use const CURLOPT_CONNECTTIMEOUT;
34+
use const CURLOPT_NOBODY;
3435
use const CURLOPT_TIMEOUT;
35-
use const CURLINFO_HTTP_CODE;
3636

3737
/**
3838
* Class UrlHelper
@@ -272,8 +272,8 @@ public static function encode(string $url): string
272272
}
273273

274274
// 若已被编码的url,将被解码,再继续重新编码
275-
$decodeUrl = urldecode($url);
276-
$encodeUrl = urlencode($decodeUrl);
275+
// $decodeUrl = urldecode($url);
276+
$encodeUrl = urlencode($url);
277277

278278
return str_replace(self::$entities, self::$replacements, $encodeUrl);
279279
}
@@ -297,7 +297,7 @@ public static function encode2(string $url): string
297297
}
298298

299299
// 若已被编码的url,将被解码,再继续重新编码
300-
$url = urldecode($url);
300+
// $url = urldecode($url);
301301

302302
$encodeUrl = rawurlencode(mb_convert_encoding($url, 'utf-8'));
303303
// $url = rawurlencode($url);

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /