troytft / mapper
此包已被弃用,不再维护。未建议替代包。
Mapper 是一个用于将数据映射到对象的 PHP 库,可以通过注解配置属性类型。
v2.1.0
2021-05-05 10:38 UTC
Requires
- php: >=7.4
- doctrine/annotations: ^1.11
- symfony/polyfill-php81: ^1.22
Requires (Dev)
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^9.5
- slevomat/coding-standard: ^6.4
- squizlabs/php_codesniffer: ^3.5
README
Mapper 是一个用于将数据映射到对象的 PHP 库,可以通过注解配置属性类型。
特性
- 支持标量类型:整数、浮点数、布尔值、字符串
- 支持使用对象和集合类型进行任何嵌套级别的映射
- 支持与日期一起工作
- 允许编写自定义类型
- 允许定义属性的 null 可用性
使用方法
<?php use Mapper\Annotation as Mapper; use Mapper\ModelInterface; class Movie implements ModelInterface { /** * @var string * * @Mapper\StringType() */ private $name; /** * @var Release[]|null * * @Mapper\CollectionType(type=@Mapper\ObjectType(class="Model\Release"), nullable=true) */ private $releases; ... getters and setters } $model = new Movie(); $data = [ 'name' => 'Taxi 2', 'releases' => [ [ 'country' => 'France', 'date' => '2000-03-25' ], ] ]; $mapper->map($model, $data);
要求
- PHP 7.4 或更高版本
安装
composer require troytft/mapper
文档
完整文档可在 docs/main.md
找到