โœ…
Laravel Validated DTO
View on GitHub
  • โœ…Validated DTO for Laravel
  • ๐Ÿš€Getting Started
    • Installation
    • Configuration
    • Upgrade Guide
    • Changelog
  • ๐Ÿ˜ŽThe Basics
    • Generating DTOs
    • Defining DTO Properties
    • Defining Validation Rules
    • Creating DTO Instances
    • Accessing DTO Data
    • Defining Default Values
    • Transforming DTO Data
    • Mapping DTO properties
    • Simple DTOs
    • Resource DTOs
    • Wireable DTOs
    • Lazy Validation
    • Generating TypeScript Definitions
  • ๐ŸŽจCustomize
    • Custom Error Messages and Attributes
    • Custom Exceptions
  • ๐ŸงชType Casting
    • Introduction
    • Available Types
    • Create Your Own Type Cast
    • Casting Eloquent Model properties to DTOs
Powered by GitBook
On this page

Was this helpful?

  1. The Basics

Simple DTOs

If you don't need to validate the data, you can use the SimpleDTO class instead of the ValidatedDTO class. The DTOs created with this class will not validate the data, but will still have all the other features of the ValidatedDTO class:

class SimpleUserDTO extends SimpleDTO
{
    public string $name;
    public string $email;
    public int $age;

    protected function defaults(): array
    {
        return [];
    }

    protected function casts(): array
    {
        return [
            'name' => new StringCast(),
            'email' => new StringCast(),
            'age' => new IntegerCast(),
        ];
    }

    protected function mapData(): array
    {
        return [
            'username' => 'name',
            'user_email' => 'email',
        ];
    }

    protected function mapToTransform(): array
    {
        return [
            'name' => 'customer_name',
            'email' => 'customer_email',
        ];
    }
}

To generate a SimpleDTO you can use the --simple flag:

php artisan make:dto SimpleUserDTO --simple
PreviousMapping DTO propertiesNextResource DTOs

Last updated 1 year ago

Was this helpful?

๐Ÿ˜Ž