gerfey / mapper
映射嵌套 Json|Array 结构。
dev-master
2021-05-08 03:54 UTC
Requires
- php: ^7.1|^7.3|^7.4|^8.0
- ext-json: *
- ext-mbstring: *
- ext-reflection: *
- doctrine/annotations: ^1.7
Requires (Dev)
- ext-json: *
- ext-mbstring: *
- ext-reflection: *
This package is auto-updated.
Last update: 2024-09-08 11:15:07 UTC
README
gerfey/mapper 是一个用于将嵌套 Json/Array 结构映射到 PHP 类的 PHP 7.1+ 库。
安装
首选的安装方法是使用 Packagist 和 Composer。运行以下命令安装包并将它添加到项目的 composer.json
文件中:
composer require gerfey/mapper @dev
使用方法
实体类
<?php namespace App\Entity; use Gerfey\Mapper\Annotation\Field; use Gerfey\Mapper\Annotation\Rule; class User { /** * @Field(type="int") * @Rule(name="limit", params={0,100}) */ public $id; /** * @Field(name="first_name", type="string") */ public $name; /** * @Field(type="object", passIn="Address") */ public $address; }
<?php namespace App\Entity; class Address { public $street; public $city; }
映射对象数组
use App\Entity\User; use Gerfey\Mapper\Format\ArrayMapper; $mapper = new ArrayMapper(); $entity = $mapper->map(User::class, [ 'id' => "1", 'first_name' => "Александр", 'address' => [ 'street' => 'просп. имени газеты Красноярский Рабочий', 'city' => 'Красноярск' ] ]); dd($entity);
结果
User {#337 ▼ +id: 1 +name: "Александр" +address: Address {#344 ▼ +street: "просп. имени газеты Красноярский Рабочий" +city: "Красноярск" } }
版权和许可
gerfey/mapper 库版权 © Alexander Levchenkov,许可使用 MIT 许可证 (MIT)。更多信息请参阅 LICENSE。