endorphin-studio/data-object

用于处理基础对象的简单库

1.0.2 2021-08-19 16:05 UTC

This package is auto-updated.

Last update: 2024-09-19 23:05:37 UTC


README

从数组创建对象并使用辅助函数getFieldName(),setFieldName($value)进行操作

代码状态

Latest Stable Version Total Downloads License Build Status Scrutinizer Code Quality

关于

Author: Serhii Nekhaienko
Email: serhii.nekhaienko@gmail.com
Stable Version: 1.0.0
License: MIT

需求

PHP >=7.4
JSON extension

通过Composer安装

composer require endorphin-studio/data-object

基本用法

use EndorphinStudio\DataObject\DataObject;

class Role extends DataObject {

}

class User extends DataObject {
    protected array $fieldTypeMapping = [
        'roles' => Role::class
    ];
    
    protected array $listFields = [
        'roles'
    ];
}

$userData = [
    'name' => 'Serhii',
    'login' => 'serhii',
    'roles' => [
        [
            'name' => 'admin'
        ],
        [
            'name' => 'editor'
        ]
    ]
];

$user = new User($userData);

echo $user->getName(); // Serhii
echo $user->getLogin(); // serhii

foreach($user->getRoles() as $role) {
    echo $role->getName(); // admin, editor
}