PHPackages                             alvarez/concrete-dto - 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. alvarez/concrete-dto

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

alvarez/concrete-dto
====================

v1.0.0(5mo ago)123↓93.3%MITPHPPHP ^8.1CI passing

Since Jan 13Pushed 5mo agoCompare

[ Source](https://github.com/DevDanielAlvarez/ConcreteDTO)[ Packagist](https://packagist.org/packages/alvarez/concrete-dto)[ RSS](/packages/alvarez-concrete-dto/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

[![ConcreteDTO Logo](assets/logo.png)](assets/logo.png)ConcreteDTO
===========

[](#concretedto)

A small, explicit PHP Data Transfer Object library that keeps data predictable and readable.

Learn it in minutes, keep it in your toolbox for years.

[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)[![PHP Version](https://camo.githubusercontent.com/83dd395020c37276225039739320f6c8e7e99963ab21ee3d09282cb48dad2a60/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e312532422d626c7565)](https://www.php.net/)

[Documentation](#documentation) • [Installation](#installation) • [Quick Start](#quick-start) • [API Reference](#api-reference)

---

Why ConcreteDTO?
----------------

[](#why-concretedto)

- **Tiny API** focused on constructor-first DTOs
- **Clear import/export helpers** for arrays, JSON, and custom converters
- **Immutability helpers** to prevent sneaky mutations
- **Framework-agnostic** and dependency-light

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

[](#installation)

```
composer require alvarez/concrete-dto
```

ConcreteDTO requires PHP 8.1+ and works with any framework or plain PHP codebase.

Quick Start
-----------

[](#quick-start)

### Define a DTO

[](#define-a-dto)

```
