kozz/class-mapper
Composer 安装命令:
composer require kozz/class-mapper
包简介
Class Mapper
关键字:
README 文档
README
Mapping Class properties using JMS Serializer components
Why to use it
ClassMapper can only fill simple maps and Normalizer performs type casting. So it works much faster than original JMS Serializer.
Usage
Create a Map class like this
use JMS\Serializer\Annotation\Type; class Map { /** * @Type("integer") */ public $client_id; /** * @Type("integer") */ public $sender_id; /** * @Type("string") */ public $order_requisite; /** * @Type("string") */ public $order_warehouse; }
Using ClassMapper
Now let's map it
use Kozz\Components\ClassMapper\ClassMapper; $map = new Map(); $mapper = new ClassMapper($map); $mapper->setAttributes([ 'client_id'=>1, 'sender_id'=>2, 'order_requisite'=>3, 'order_warehouse'=>4, ]); $map->order_id; // 1 (integer) $map->sender_id; // 2 (integer) $map->order_requisite; // 3 (integer) $map->order_warehouse; // 4 (integer)
Using ClassMapper and Normalizer
Normalizer is decorator for ClassMapper. It reads @Type annotations and performs type casting
use Kozz\Components\ClassMapper\ClassMapper; use Kozz\Components\ClassMapper\Normalizer; $map = new Map(); $mapper = new Normalizer(new ClassMapper($map)); $mapper->setAttributes([ 'client_id'=>'1str', 'sender_id'=>'2str', 'order_requisite'=>'3str', 'order_warehouse'=>'4str', ]); $map->order_id; // 1 (integer) $map->sender_id; // 2 (integer) $map->order_requisite; // '3str' (string) $map->order_warehouse; // '4str' (string)
统计信息
- 总下载量: 5.11k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-11-03