PHPackages                             grifart/scaffolder - 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. grifart/scaffolder

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

grifart/scaffolder
==================

Class scaffolder. Write definition, generate simple value holders. Useful for trivial composite types used in event sourced applications - for commands, events and query definitions classes. This mostly supplements public readonly $properties

0.6.9(1y ago)1017.7k↓30.4%2MITPHPPHP ^8.2

Since Aug 3Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/grifart/scaffolder)[ Packagist](https://packagist.org/packages/grifart/scaffolder)[ Docs](http://www.grifart.cz)[ RSS](/packages/grifart-scaffolder/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (11)Versions (31)Used By (2)

grifart/scaffolder – The (class) scaffolder project.
====================================================

[](#grifartscaffolder-the-class-scaffolder-project)

It was designed to generated classes with none to simple logic. Typical usage is:

- data transfer objects (DTOs),
- events in event-sourced model,
- simple value objects (simple logic can be embedded using `#[Preserve]` attribute – see below).

It is developed at [gitlab.grifart.cz](https://gitlab.grifart.cz/grifart/scaffolder), automatically mirrored to [GitHub](https://github.com/grifart/scaffolder) and distributed over Composer [packagist:grifart/scaffolder](https://packagist.org/packages/grifart/scaffolder).

> You can also watch introduction (in Czech) on [🎥 YouTube](https://www.youtube.com/watch?v=EjCGl_9IkUI).

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

[](#installation)

We recommend to use Composer:

```
composer require grifart/scaffolder
```

Quick start
-----------

[](#quick-start)

1. **Create a definition file.** Definition file must return a list of `ClassDefinition`s. By default, its name must end with `.definition.php`. We commonly use just `.definition.php`:

```
