Skip to content

Commit 36e1c68

Browse files
committed
change file name
1 parent a5d185a commit 36e1c68

File tree

3 files changed

+62
-17
lines changed

3 files changed

+62
-17
lines changed

docs/zh/README.md

Lines changed: 60 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,6 @@ $createArray = $user2->toArray();
413413
// 'name' => '李四',
414414
// 'username' => 'username',
415415
// 'email' => 'zhangsan@example.com',
416-
// 'noGroupInfo' => '默认分组信息'
417416
// ]
418417

419418
// 使用 update 分组更新用户 只会接受group为update的数据信息
@@ -434,7 +433,6 @@ $updateArray = $user3->toArray();
434433
// 'id' => '1',
435434
// 'name' => '李四',
436435
// 'score' => 100,
437-
// 'noGroupInfo' => '默认分组信息'
438436
// ]
439437

440438
// 使用 detail 和 other 展示用户 会接受group为detail和other的数据信息
@@ -458,7 +456,6 @@ $multiGroupArray = $user4->toArray();
458456
// 'score' => 100,
459457
// 'email' => 'zhangsan@example.com',
460458
// 'sensitiveData' => '机密信息',
461-
// 'noGroupInfo' => '默认分组信息'
462459
// ]
463460
```
464461

@@ -645,7 +642,7 @@ $complexUserArray = $complexUser->toArray();
645642
// ]
646643
```
647644

648-
##### 命名映射高级用法
645+
##### Mapper映射
649646

650647
```php
651648
use Astral\Serialize\Attributes\InputName;
@@ -729,6 +726,11 @@ $userArray = $user->toArray();
729726
// 'userId' => 123,
730727
// 'registeredAt' => '2023-01-01'
731728
// ]
729+
```
730+
731+
###### 局部属性可以覆盖全局映射
732+
733+
```php
732734

733735
// 局部属性可以覆盖全局映射
734736
#[InputName(SnakeCaseMapper::class)]
@@ -752,7 +754,9 @@ $partialUser->toArray();
752754
// ]
753755
```
754756

755-
##### 全局类映射的分组使用
757+
###### 全局类映射的分组使用
758+
759+
需要搭配`Groups`注解一起使用
756760

757761
```php
758762
use Astral\Serialize\Attributes\Groups;
@@ -855,6 +859,7 @@ use Astral\Serialize\Attributes\InputIgnore;
855859
use Astral\Serialize\Attributes\OutputIgnore;
856860
use Astral\Serialize\Serialize;
857861

862+
858863
class User extends Serialize {
859864

860865
public string $name;
@@ -888,54 +893,89 @@ $userArray = $user->toArray();
888893

889894
##### 分组忽略
890895

896+
忽略分组需要搭配Groups注解一起使用
897+
891898
```php
892-
use Astral\Serialize\Attributes\InputIgnore;
893-
use Astral\Serialize\Attributes\OutputIgnore;
899+
use Astral\Serialize\Attributes\Input\InputIgnore;
900+
use Astral\Serialize\Attributes\Output\OutputIgnore;
894901
use Astral\Serialize\Serialize;
902+
use Astral\Serialize\Attributes\Groups;
895903

896904
class ComplexUser extends Serialize {
897905

898-
899-
#[Group('admin','public')]
906+
#[Groups('admin','public')]
900907
#[InputIgnore('admin')]
901908
public string $name;
902909

903-
#[Group('admin','public')]
910+
#[Groups('admin','public')]
904911
#[OutputIgnore('public')]
905912
public string $secretKey;
906913

907-
// 支持分组忽略
914+
#[Groups('admin','public')]
908915
#[InputIgnore('admin')]
909916
#[OutputIgnore('public')]
910-
#[Group('admin','public')]
911917
public string $sensitiveInfo;
918+
919+
#[InputIgnore]
920+
public string $globalInputIgnore;
921+
922+
#[OutputIgnore]
923+
public string $globalOutputIgnore;
912924
}
913925

926+
// 默认分组
927+
$complexUser = ComplexUser::from([
928+
'name' => '张三',
929+
'secretKey' => 'confidential',
930+
'sensitiveInfo' => '机密信息',
931+
'globalInputIgnore' => '全局输入忽略',
932+
'globalOutputIgnore' => '全局输出忽略'
933+
]);
934+
935+
echo $complexUser->globalInputIgnore; // 输出 ‘’
936+
echo $complexUser->globalOutputIgnore; // 输出 ‘全局输出忽略’
937+
938+
$complexUser = $complexUser->toArray();
939+
// $complexUser 的内容:
940+
// [
941+
// 'name' => '张三',
942+
// 'secretKey' => 'confidential',
943+
// 'sensitiveInfo' => '机密信息',
944+
// 'globalInputIgnore' => '',
945+
// ]
946+
947+
914948
// 使用admin分组
915949
$complexUser = ComplexUser::setGroups('admin')->from([
916950
'name' => '张三',
917951
'secretKey' => 'confidential',
918952
'sensitiveInfo' => '机密信息'
953+
'globalInputIgnore' => '全局输入忽略',
954+
'globalOutputIgnore' => '全局输出忽略'
919955
]);
920956

921957
$complexUser = $complexUser->toArray();
922958
// $complexUser 的内容:
923959
// [
924960
// 'name' => '',
925961
// 'secretKey' => 'confidential',
962+
// 'globalInputIgnore' => '',
926963
// ]
927964

928965
// 使用public分组
929966
$complexUser = ComplexUser::setGroups('public')->from([
930967
'name' => '张三',
931968
'secretKey' => 'confidential',
932969
'sensitiveInfo' => '机密信息'
970+
'globalInputIgnore' => '全局输入忽略',
971+
'globalOutputIgnore' => '全局输出忽略'
933972
]);
934973

935974
$complexUser = $complexUser->toArray();
936975
// $complexUser 的内容:
937976
// [
938977
// 'name' => '张三',
978+
/// 'globalInputIgnore' => '',
939979
// ]
940980
```
941981

@@ -954,8 +994,8 @@ $complexUser = $complexUser->toArray();
954994
##### 基础使用
955995

956996
```php
957-
use Astral\Serialize\Attributes\InputDateFormat;
958-
use Astral\Serialize\Attributes\OutputDateFormat;
997+
use Astral\Serialize\Attributes\Input\InputDateFormat;
998+
use Astral\Serialize\Attributes\Output\OutputDateFormat;
959999
use Astral\Serialize\Serialize;
9601000

9611001
class TimeExample extends Serialize {
@@ -980,7 +1020,7 @@ class TimeExample extends Serialize {
9801020
}
9811021

9821022
// 创建订单对象
983-
$order = Order::from([
1023+
$order = TimeExample::from([
9841024
'dateTime' => new DateTime('2023-08-11'), // 输入格式:Y-m-d
9851025
'dateDateString' => '2023-08-15', // 输入格式:Y-m-d
9861026
'processedAt' => '2023-08-16 14:30', // 输入默认格式 也支持DateTime对象
@@ -1001,6 +1041,11 @@ $orderArray = $order->toArray();
10011041
##### 带时区的时间转换
10021042

10031043
```php
1044+
1045+
use Astral\Serialize\Attributes\Input\InputDateFormat;
1046+
use Astral\Serialize\Attributes\Output\OutputDateFormat;
1047+
use Astral\Serialize\Serialize;
1048+
10041049
class AdvancedTimeUser extends Serialize {
10051050
// 支持时区转换
10061051
#[InputDateFormat('Y-m-d H:i:s', timezone: 'UTC')]

src/Annotations/Out/OutputDateFormat.php renamed to src/Annotations/Output/OutputDateFormat.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Astral\Serialize\Annotations\Out;
5+
namespace Astral\Serialize\Annotations\Output;
66

77
use DateMalformedStringException;
88
use DateInvalidTimeZoneException;

tests/Serialize/ToArray/OutDateFormatToArraySerializeTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
use Astral\Serialize\Annotations\Out\OutputDateFormat;
3+
use Astral\Serialize\Annotations\Output\OutputDateFormat;
44
use Astral\Serialize\Serialize;
55
use Carbon\Carbon;
66

0 commit comments

Comments
 (0)