承接 intellex/data-parser 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

intellex/data-parser

最新稳定版本:2.0.3-alpha

Composer 安装命令:

composer require intellex/data-parser

包简介

Easy to use lib to parse arrays into objects

README 文档

README

  • Simple to use out of the box
  • Handles object arrays from the comment

Usage

composer require intellex/data-parser

use Intellex\DataParser\DataParser;

// Classes
class User {
    public function __construct(
        public readonly int $id;
        public readonly string $name;
        public readonly Car $car;
        /** @var Role[] */
        public readonly array $roles;
    ) { }
}
class Car {
    public function __construct(
        public readonly string $manufacturer;
        public readonly string $model;
        public readonly int $year;
    ) { }
}
class Role {
    public function __construct(
        public readonly string $module;
        public readonly string $access;
    ) { }
}

// Data
$data = [
    'id' => 100,
    'name' => 'John Doe',
    'car' => [
        'manufacturer' => 'Volkswagen',
        'model' => 'Golf',
        'year' => 2023
    ],
    'roles' => [
        [ 'module' => 'news', 'access' => 'rw' ],
        [ 'module' => 'video', 'access' => 'r' ],
    ]
];

// Parse
$dataParser = new DataParser();
$user = $dataParser->parse(User::class, $data);

Output:

User Object
(
    [id] => 100
    [name] => John Doe
    [car] => Intellex\DataParser\Tests\Car Object
        (
            [manufacturer] => Volkswagen
            [model] => Golf
            [year] => 2023
        )

    [roles] => Array
        (
            [0] => Intellex\DataParser\Tests\Role Object
                (
                    [module] => news
                    [access] => rw
                )

            [1] => Intellex\DataParser\Tests\Role Object
                (
                    [module] => video
                    [access] => r
                )

        )

)

Arrays

use Intellex\DataParser\DataParser;

// Class
class User {
    public int $id;
    public string $name;
}

// Data
$data = [
    [ 'id' => 1, 'name' => 'John Doe' ],
    [ 'id' => 2, 'name' => 'Jane Doe' ]
];

// Parse
$dataParser = new DataParser();
$users = $dataParser->parseArray(User::class, $data);

Credits

Written by the Intellex team.

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-10