brettminnie / breakfast-serializer
用于将任何复杂性的数据进行(反)序列化的库
0.1.0
2015-07-26 17:22 UTC
Requires
- php: >=5.5
- symfony/yaml: ~3.0@dev
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: 4.7.*
This package is not auto-updated.
Last update: 2024-09-28 17:54:32 UTC
README
作为其他知名序列化工具的替代品,最初我们目标是向后兼容,但开发一个轻量级的替代品似乎更合适。我们现在放弃了功能深度,以提供易于配置且无需配置即可良好工作的工具。
安装
$ composer require brettminnie/breakfast-serializer:0.1.*
任务完成,开始享受你的早晨序列化吧!
配置
默认情况下,它将执行深度/宽度优先递归并序列化为JSON格式,无需配置。它将始终使用名为className
的变量附加到对象上。这是一个完整的命名空间,用于反序列化。如果您想要从缺少此变量的JSON数据中反序列化,则需要将其注入到对象中。
支持的序列化格式
- JSON
- XML
- PHP对象表示法
- YAML
功能
- 简单的遍历深度限制
- 将属性映射到备用名称,反之亦然
- 从序列化中排除属性,并在反序列化时忽略它们
- 简单的YAML配置格式( yay,没有慢速的php注释!)
快速示例
// To retrieve the json representation json of an object $jsonData = BDBStudios\BreakfastSerializer\SerializerFactory::getSerializer() ->serialize($myClass); // To unserialize $myClass = BDBStudios\BreakfastSerializer\SerializerFactory::getSerializer() ->deserialize($jsonData); //To serialize an object with a limited depth recursion (aka only some of it) $jsonData = BDBStudios\BreakfastSerializer\SerializerFactory::getSerializer( BDBStudios\BreakfastSerializer\IsSerializable::FORMAT_JSON, 2 ) ->serialize($myClass);
更多示例在文档目录中。