PHPackages                             klkvsk/dto-generator - 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. klkvsk/dto-generator

ActiveLibrary

klkvsk/dto-generator
====================

Generate DTO classes with zero runtime dependencies

0.6.6(3y ago)71071MITPHPPHP &gt;=8.1

Since Feb 19Pushed 3y ago1 watchersCompare

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

READMEChangelog (10)Dependencies (9)Versions (25)Used By (1)

[![Latest Version on Packagist](https://camo.githubusercontent.com/dc65fb7a62ccbd9c81f53f29881fedfafd65f8f4ec8fec7c76b2d6596ab76df0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b6c6b76736b2f64746f2d67656e657261746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/klkvsk/dto-generator)[![GitHub](https://camo.githubusercontent.com/7ffb2ec4391de6189ab6e0474abda10fff44e2aca804d2638f193f2eb7693e03/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6b6c6b76736b2f64746f2d67656e657261746f723f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/7ffb2ec4391de6189ab6e0474abda10fff44e2aca804d2638f193f2eb7693e03/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6b6c6b76736b2f64746f2d67656e657261746f723f7374796c653d666c61742d737175617265)[![GitHub last commit](https://camo.githubusercontent.com/b382dc86d89c0ea9accd0298067d7e62e3b14bdadccf5cd6506d50d9103673da/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6b6c6b76736b2f64746f2d67656e657261746f723f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/b382dc86d89c0ea9accd0298067d7e62e3b14bdadccf5cd6506d50d9103673da/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6b6c6b76736b2f64746f2d67656e657261746f723f7374796c653d666c61742d737175617265)[![GitHub Repo stars](https://camo.githubusercontent.com/c55f27a35a7694daf4ddf31f04c735f926ff84c2ad8955f2016a4ddeb23ffffe/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6b6c6b76736b2f64746f2d67656e657261746f723f7374796c653d736f6369616c)](https://camo.githubusercontent.com/c55f27a35a7694daf4ddf31f04c735f926ff84c2ad8955f2016a4ddeb23ffffe/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6b6c6b76736b2f64746f2d67656e657261746f723f7374796c653d736f6369616c)

Generate DTO classes with zero runtime dependencies
===================================================

[](#generate-dto-classes-with-zero-runtime-dependencies)

This package allows you to generate clean and independent DTO-classes (also called "value objects") by briefly declared schema in PHP-code.

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

[](#installation)

You only need this package in development environment, since generated classes do not use anything from this library's code. That is why the preferred way is to include it as `require-dev`:

```
$ composer require --dev klkvsk/dto-generator

```

Requirements
------------

[](#requirements)

- PHP 8.1+: to run generator in development
- PHP 7.4 or 8.x: to use generated code in production

Usage
-----

[](#usage)

### 1. Create schema-file

[](#1-create-schema-file)

Schema is a regular PHP-file anywhere in your project. The file should return a `Schema` object from top level.

Example schema:

```
