sinema/data-entities

1.0.4 2024-01-12 10:06 UTC

This package is auto-updated.

Last update: 2025-04-12 12:58:25 UTC


README

A small lib to transfer from one application layer to another.
Valinor and Laravel-Data ain't focussing on a DTO core principle. Data Entities has some convenient methods included.

Installation

composer require sinema/data-entities

Attributes

Basic Attributes

use Sinemah\DataEntities\Data;

class Message extends Data
{
    public string $text;
    public string $user;
    public int $created_at;
}

Required Attributes

use Sinemah\DataEntities\Data;
use Sinemah\DataEntities\Entity\Requireable;

class Message extends Data
{
    use Requireable;

    protected array $requireable = [
        'text',
        'user',
        'created_at',
    ];

    public string $text;
    public string $user;
    public int $created_at;
}

Load from Array

$message = Message::from(['user' => 'John Smith', 'text' => 'Lorem Ipsum']);

To Array

$message->toArray();

Get Single Values

Also works neither attributes are not initialized nor exists.

$message->get('user');