tsantos / serializer
PHP 对象(反)序列化组件
v4.0.2
2018-12-09 22:24 UTC
Requires
- php: ^7.1
- doctrine/instantiator: ^1.1
- jms/metadata: ^1.6
- nette/php-generator: ^3.2
- phpdocumentor/reflection-docblock: ^4.3
- pimple/pimple: ^3.2
- symfony/event-dispatcher: ^3.4 || ^4.0
- symfony/property-info: ^3.4 || ^4.0
Requires (Dev)
- doctrine/annotations: ^1.5
- friendsofphp/php-cs-fixer: ^2.12
- phpunit/phpunit: ^6.2
- symfony/yaml: ^3.4||^4.0
Suggests
- doctrine/annotations: Allow to use annotations format to define class metadata
- symfony/yaml: Allow to use Yaml format to define class metadata
This package is auto-updated.
Last update: 2024-09-28 13:30:24 UTC
README
TSantos Serializer 是一个用于将 PHP 对象编码/解码为某些字符串表示的库。由于其独特的序列化策略,该库是PHP 中最快的序列化组件。
安装
您可以通过 composer 安装此库
composer require tsantos/serializer
或者只需将 tsantos/serializer
添加到您的 composer 文件中,然后
composer update
使用方法
开始使用 TSantos Serializer
的最佳方式是使用构建器。通过少量配置,您就可以开始序列化您的数据
use TSantos\Serializer\SerializerBuilder; class Post { public $title; public $summary; } $serializer = (new SerializerBuilder()) ->setHydratorDir('/path/to/generated/hydrators') ->build(); $person = new Post('Post title', 'Post summary'); echo $serializer->serialize($person); // {"title":"Post title", "summary":"Post summary"}
这是开始使用 TSantos Serializer 的最简单示例。为了掌握您的序列化实例并充分利用库的全部功能,您应该了解很多特性。
特性
TSantos Serializer 目前支持的主要特性
- 对于简单用例无需映射类...
- ...但支持
YAML
、XML
和Annotations
映射格式以进行高级映射 - 支持
JSON
编码器 - 序列化/反序列化任何深度的对象
- 虚拟属性
- 属性分组
- 事件监听器,可挂钩到序列化操作
- 序列化/反序列化接口和抽象类
文档
请参阅文档页面以查看所有允许的配置。
许可证
MIT
测试
vendor/bin/phpunit -c phpunit.xml.dist