PHPackages                             mom/data - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mom/data

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mom/data
========

A simple DTO package.

v5.1.0(1mo ago)389MITPHPPHP ^8.4

Since Nov 9Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/momphp/data)[ Packagist](https://packagist.org/packages/mom/data)[ RSS](/packages/mom-data/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (33)Used By (0)

Minimalist Data Transfer Object (DTO) Package for PHP
=====================================================

[](#minimalist-data-transfer-object-dto-package-for-php)

[![Latest Version on Packagist](https://camo.githubusercontent.com/15d1afb2f3df2d09d91598df862fc0a689f26a3aa704d168d60ab5804a27784c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6f6d2f646174612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mom/data)[![Total Downloads](https://camo.githubusercontent.com/15ad2f44827be420953c8f603666e4c28241c405349957652eb63cd32c9dd0c8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6f6d2f646174612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mom/data)

A simple and flexible Data Transfer Object (DTO) package for PHP, allowing clean data encapsulation and validation.

Features
--------

[](#features)

- **Type-safe properties** - Define properties with specific types to ensure consistent data handling.
- **Automatic property assignment** - Easily map input data to DTO properties.

Installation
------------

[](#installation)

Install the package via Composer:

```
composer require mom/data
```

Getting Started
---------------

[](#getting-started)

### Step 1: Create a property class

[](#step-1-create-a-property-class)

Define a property class and extend `AbstractString`, `AbstractInteger`, `AbstractFloat`, `AbstractCollection`, `AbstractDate`, `AbstractDataValue`, `AbstractEnum` or `AbstractBoolean` based on the property type:

```
