Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Data Transfer Object Laravel Package

spatie/data-transfer-object

PHP 8+ data transfer objects with “batteries included”: map and cast input arrays into typed DTOs, validate via attributes, and handle nested objects/collections. Note: package is deprecated; consider spatie/laravel-data or cuyz/valinor.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: Poor for new projects; deprecated and archived. Original DTO design is outdated compared to modern alternatives like spatie/laravel-data or valinor. Not aligned with current Laravel best practices for data handling.
  • Integration feasibility: Low; not recommended for new integrations. Existing usage requires immediate migration planning due to lack of updates. Compatibility with PHP 8.1+ and Laravel 10+ is unverified.
  • Technical risk: High; no security patches, unaddressed bugs, and no support for newer PHP/Laravel versions. Archiving indicates critical maintenance abandonment.
  • Key questions: Why is this package still being considered? What is the concrete migration timeline to spatie/laravel-data or valinor? Are there dependencies blocking migration that require immediate resolution?

Integration Approach

  • Stack fit: Better alternatives exist (spatie/laravel-data for Laravel-specific projects, valinor for general PHP). Both are actively maintained, integrate natively with Laravel's ecosystem, and offer enhanced validation/casting features.
  • Migration path: Audit existing DTO usage, refactor classes using spatie/laravel-data syntax (similar but improved), replace CastWith/MapFrom attributes with native validation, and update collection handling via Laravel's Collection or valinor's type-safe structures.
  • Compatibility: spatie/laravel-data supports PHP 8.1+ and Laravel 9/10. Verify project PHP version and Laravel compatibility before migration. `valinor
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport