lark/entity

1.0.1 2023-05-19 14:46 UTC

This package is auto-updated.

Last update: 2025-06-19 19:55:32 UTC


README

The Entity class is used to simplify creating data classes, creating class properties from an array and creating an array from class properties.

Install using Composer:

composer require lark/entity

Example:

use Lark\Entity;

// class must be subclass of Entity
class Location extends Entity
{
    public string $address;
    public string $city;
}

class User extends Entity
{
    // properties must be public and typed
    // union types are not supported
    public string $name;
    public int $age;
    public bool $isActive = false; // default values
    public Location $location; // deep nested classes supported
}

// populate from array
$user = new User([
    'name' => 'Bob',
    'age' => 25,
    'location' => [
        'address' => '101 main',
        'city' => 'Tampa'
    ]
]);
// or use: $user->fromArray([...])

echo $user->name; // Bob
echo $user->location->address; // 101 main

// get as array
$userArr = $user->toArray(); // [name => Bob, ...]

View the tests/entity.php file for more examples.