sitnikovik/array-to-object-serializer

将嵌套在其他类中的类转换为关联数组的工具

v1.0.2 2024-05-01 05:03 UTC

This package is auto-updated.

Last update: 2024-09-30 19:26:55 UTC


README

将嵌套在其他类中的类转换为关联数组的工具

如何使用

只需运行

// Array to convert
$array = [
    "name" => "csgo",
    'players' => [
        [
            "name" => "bonnie",
            "health" => 100,
            "weapon" => [
                "name" => "m4a1",
                "ammo" => 30,
            ],
        ],
        [
            "name" => "klyde",
            "health" => 100,
            "weapon" => [
                "name" => "ak47",
                "ammo" => 30,
            ],
        ],
    ],
];

// Convert array to object with one step
$object = \Sitnikovik\ArrayToObjectSerializer\ArrayToObject::serialize($array, "needed_class_name_with_namespace");

如何指定对象

您必须为要转换的每个属性创建一个带有@ToObject注解的对象。

注意:由于当前版本适用于PHP 7.3及以上版本,因此您必须在@ToObject注解中指定完整的类名和命名空间,不要使用use语句和::class语法。

use Sitnikovik\ArrayToObjectSerializer\ToObject;

class Game
{
    /**
     * @var string
     */
    public $name;

    /**
     * @var Player[]
     *
     * @ToObject(Sitnikovik\ArrayToObjectSerializer\Mock\Player)
     */
    public $players = [];
}