PHPackages                             betstore/laravel-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. betstore/laravel-dto

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

betstore/laravel-dto
====================

A reusable DTO class for Laravel projects

1.2.6(1mo ago)066MITPHPPHP ^8.2

Since May 28Pushed 1mo agoCompare

[ Source](https://github.com/GeneratorEVil/laravel-dto)[ Packagist](https://packagist.org/packages/betstore/laravel-dto)[ RSS](/packages/betstore-laravel-dto/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (12)Versions (28)Used By (0)

Betstore Laravel DTO
====================

[](#betstore-laravel-dto)

🚀 **Высокопроизводительная библиотека Data Transfer Objects для Laravel с поддержкой JIT компиляции**

[![PHP Version](https://camo.githubusercontent.com/5fe05c705bf034839bda7651781e4d0a9d42f4a840478ca5e343873a0361bb89/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322b2d626c75652e737667)](https://php.net)[![Laravel](https://camo.githubusercontent.com/8299cd7f6175d6801a77e7daeb9fdf61767b57987b51237736b0295e8ec2c1bc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d382e302b2d7265642e737667)](https://laravel.com)![Performance](https://camo.githubusercontent.com/424315526780dce134298fff3814820a18284dffba04f4af4f524825fa0fd8fc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f506572666f726d616e63652d4a49542d2d313030782d677265656e2e737667)[![License](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](LICENSE)

⚡ Ключевые особенности
----------------------

[](#-ключевые-особенности)

- **🚀 JIT-оптимизированная производительность** - до 100x быстрее базовой версии
- **🔄 Автоматическое преобразование типов** - поддержка union types, nullable типов
- **✅ Валидация данных** - интеграция с Laravel Validation
- **📦 Сериализация/десериализация** - в массив, JSON, Laravel Response
- **🎯 Type casting** - преобразование вложенных объектов и коллекций
- **⚡ Кэширование Reflection** - O(1) доступ к метаданным классов
- **🎨 Laravel интеграция** - полная совместимость с экосистемой Laravel

📊 Производительность
--------------------

[](#-производительность)

ТестБез оптимизацийС оптимизациямиС JITУлучшениеСоздание 100 DTO~50 ms~11 ms~3 ms**16x** ⚡Сериализация 1000×~1000 ms~25 ms~3 ms**333x** ⚡Общее время тестов~1000 ms~100 ms~9 ms**111x** ⚡📦 Установка
-----------

[](#-установка)

```
composer require betstore/laravel-dto
```

### Требования

[](#требования)

- PHP 8.2+
- Laravel 8.0+
- OPcache включен
- Для максимальной производительности: JIT компиляция

### Рекомендуемая конфигурация OPcache

[](#рекомендуемая-конфигурация-opcache)

```
; php.ini или /etc/php/8.2/mods-available/opcache.ini
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.max_accelerated_files=7963
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.interned_strings_buffer=16

; JIT компиляция (автоматически отключается при наличии Xdebug)
opcache.jit=on
opcache.jit_buffer_size=100M
```

🚀 Быстрый старт
---------------

[](#-быстрый-старт)

### Создание простого DTO

[](#создание-простого-dto)

```
