rafrsr/lib-array2object
Composer 安装命令:
composer require rafrsr/lib-array2object
包简介
Array to object conversion library
README 文档
README
Array to object conversion library. Convert a array to a object using simple and common property annotations
Installation
- Install composer
- Execute:
composer require rafrsr/lib-array2object
Usage
Only need the class with common annotations
<?php class Player { /** @var string */ protected $name; /** @var integer */ protected $number; //setters and getters here }
To use:
$phpArray = ['name' => 'David', 'number' => '1']; $object = Array2ObjectBuilder::create()->build()->createObject(Player::class, $phpArray); echo $object->getName();//David echo $object->getNumber();//1 $array = Object2ArrayBuilder::create()->build()->createArray($object); echo $array['name'];//David echo $array['number'];//1
Serialization
This library can be used to serialize/deserialize objects without a complex configuration.
Json
//deserialize $json = '{"name":"David","number"=>"1"}'; $object = Array2ObjectBuilder::create()->build()->createObject(Team::class, json_decode($json, true)); echo $object->getName()//David //serialize $array = Object2ArrayBuilder::create()->build()->createArray($object); echo json_encode($array); // {"name":"David","number"=>"1"}
Xml
Using the library rafrsr/lib-array2xml is very handy convert from/to xml
//deserialize $xml = '<Player><name>Player 1</name><number>1</number></Player>'; $object = Array2ObjectBuilder::create()->build()->create(Team::class, XML2Array::createArray($xml)); echo $object->getName()//David //serialize $array = Object2ArrayBuilder::create()->build()->createArray($object); echo Array2XML::createXml('Player', $array); // '<Player><name>Player 1</name><number>1</number></Player>'
This library its handy to use and has some advanced configuration, but in some cases (need groups, versions and other stuffs) is required use advanced libraries like jms/serializer
Documentation
Full documentation are available on the wiki page
Copyright
This project is licensed under the MIT license.
rafrsr/lib-array2object 适用场景与选型建议
rafrsr/lib-array2object 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 18.17k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2016 年 06 月 22 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 rafrsr/lib-array2object 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 rafrsr/lib-array2object 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 18.17k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 23
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-06-22