Download the PHP package grazulex/laravel-arc without Composer
On this page you can find all versions of the php package grazulex/laravel-arc. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download grazulex/laravel-arc
More information about grazulex/laravel-arc
Files in grazulex/laravel-arc
Package laravel-arc
Short Description A Laravel package for elegant and modern Data Transfer Objects (DTOs) management with automatic validation and direct property access
License MIT
Homepage https://github.com/grazulex/laravel-arc
Informations about the package laravel-arc
Laravel Arc
Generate modern, type-safe Data Transfer Objects (DTOs) in Laravel from clean YAML definitions โ with automatic validation, nested support, and fluent collection handling.
Overview
Laravel Arc is a powerful Laravel package that simplifies Data Transfer Object (DTO) management through YAML-driven generation. Define your DTOs in simple YAML files and let Laravel Arc generate type-safe, validated PHP classes with automatic property access and comprehensive collection support.
Think of it as Laravel API Resources, but with stronger typing, automatic validation, and generated from YAML definitions.
๐ฏ Key Features
- ๐๏ธ YAML-Driven Generation - Define DTOs in clean, readable YAML
- ๐ Type Safety - Full PHP 8.3+ type enforcement with readonly properties
- โ Automatic Validation - Generate Laravel validation rules from field definitions
- ๏ฟฝ ModelSchema Integration - 65+ advanced field types (geometric, JSON, enhanced validation)
- ๏ฟฝ๐ Field Transformers - Built-in data transformation (trim, slugify, normalize, etc.)
- ๐ Export Formats - Convert to JSON, XML, CSV, YAML, and more
- ๐ฏ Behavioral Traits - Timestamps, UUIDs, soft deletes, and tagging
- ๐ Modern PHP - Leverages PHP 8.3+ features and best practices
๐ง Advanced Field Types (ModelSchema Integration)
Laravel Arc integrates with grazulex/laravel-modelschema to provide 65+ advanced field types:
Supported Advanced Types:
- ๐ Geometric:
point,polygon,geometry,linestring - ๐ JSON:
json,jsonb,set,array - ๐ง Enhanced String:
email,uuid,url,slug,phone - ๐ข Numeric Variations:
bigint,tinyint,decimal,money - ๐
Date/Time:
datetime,timestamp,date,time
๐ Complete Documentation
โก๏ธ Visit the Wiki for complete documentation, examples, and guides
The wiki contains:
- Installation & Setup
- Your First DTO
- Field Types
- Field Transformers
- Artisan Commands
- Complete Examples
๐ฆ Quick Installation
๐ Quick Start
-
Create a DTO definition:
-
Generate the DTO class:
- Use your DTO:
โ ๏ธ Important Notes
YAML Validation Rules with Commas
When using validation rules that contain commas (like exists:table,column), wrap them in quotes:
This applies to rules like: "exists:table,column", "unique:table,column", "in:value1,value2,value3", etc.
๐ Learn More
- ๐ Complete Documentation - Full guides and API reference
- ๐ Installation & Setup - Installation and first steps
- ๐ก Complete Examples - Real-world usage examples
- ๐ง Behavioral Traits - Advanced features and traits
๐ง Requirements
- PHP: ^8.3
- Laravel: ^12.19
- Carbon: ^3.10
๐งช Testing
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details.
๐ Security
Please review our Security Policy for reporting vulnerabilities.
๐ License
Laravel Arc is open-sourced software licensed under the MIT license.
Made with โค๏ธ by Jean-Marc Strauven
All versions of laravel-arc with dependencies
illuminate/support Version ^12.19
nesbot/carbon Version ^3.10
grazulex/laravel-modelschema Version ^1.1