phauthentic / attribute-serializer
dev-master
2024-02-25 16:49 UTC
Requires (Dev)
- php: ^8.1
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ~10.5
- squizlabs/php_codesniffer: ^3.9
This package is auto-updated.
Last update: 2024-08-25 17:51:51 UTC
README
用于从带有 #[Serialize]
属性的对象中提取数据的序列化类。
此类提供了一个名为 serialize 的方法,通过从其属性和常量中提取数据(基于 #[Serialize]
属性),将对象转换为关联数组。
安装
composer require phauthentic/attribute-serializer
如何使用它?
将 #[Serialize()]
属性添加到属性或常量中。您可以通过为属性提供名称来更改结果数组中的属性名,例如使用 #[Serialize('other-name')]
。
class Example { #[Serialize('username')] private $name = 'serializer'; } var_dump((new Serializer())->serialize(new Example()));
[
'username' => 'serializer'
]
深数组点表示法
字段名可以使用点表示法动态重命名,甚至可以用于更深的数组结构。
class Example2 { #[Serialize('first.second')] private $name = 'serializer'; } var_dump((new Serializer())->serialize(new Example2());
[
'first' => [
'second' => 'serializer'
]
]
ToArrayTrait
class Example3 { use ToArrayTrait; #[Serialize('username')] private $name = 'serializer'; } var_dump((new Example3)->toArray());
[
'username' => 'serializer'
]
许可证
版权所有 Florian Krämer
在 MIT 许可证 下发布。