JsonMapper
data-transfer-object
JsonMapper | data-transfer-object | |
---|---|---|
7 | 16 | |
205 | 2,177 | |
0.0% | - | |
6.4 | 6.4 | |
about 12 hours ago | over 1 year ago | |
PHP | PHP | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
JsonMapper
- Data-Mapper: A package for fast mapping of strong-typed objects
- brick/json-mapper: map JSON data to strongly typed PHP DTOs
- JsonMapper version 2.14.0 was released supporting constructors, property promotion and readonly properties.
- JsonMapper V2.13.0 released. Adding support for multidimensional arrays defined in DocBlocks
- Release 2.9.0 · JsonMapper/JsonMapper
- Release 2.6.0 · JsonMapper/JsonMapper - Now includes PHP 7.1 support
- JsonMapper v2.5.0 was released adding support allowing mapping to interfaces, abstract classes and stdClass.
data-transfer-object
- Data-Mapper: A package for fast mapping of strong-typed objects
- brick/json-mapper: map JSON data to strongly typed PHP DTOs
-
A (very) small package to cast a variable to a new type, in including custom classes
Speaking of… https://github.com/spatie/data-transfer-object is dead, does doctrine offer similar functionality?
-
Given a messy class used _heavily_ with a hard time understanding whats going on... how to log stuff in testing / demo??
Once you are confident in the argument types, add them to the methods. If there are too many, create a Data Transfer Object. Also add method return types.
-
Refactoring #5: From arrays to Data Transfer Objects
The benefits of using DTOs are numerous, there's even a package from Spatie for them. See the package's release post and this awesome DTO explanation for a more in-depth take and how to implement and use them in a more sensible way.
-
Leveraging DTOs for JSON database columns as an alternative to additional tables
I opted to use Spatie's DTO package and a bit of additional custom code for easy casting. I decided to map each JSON column to its own DTO, so I created two classes for land and for army.
-
What are peoples thoughts/feelings regarding PHP attributes?
When possible, I surely will try using the spatie/data-transfer-object with attributes to see if I like it.
-
Workflow to keep CHANGELOG up-to-date with Release Notes
Open Source projects using this Action. Mostly my own projects, as I just released the Action. However, Spatie, a huge contributor to open source PHP packages recently added the workflow to their PHP package template; which makes me super proud ♥️
-
Restricting ORM objects to repository classes and DTOs
This spatie lib looks neat too, though it might not be all that static analysis friendly. I guess this doesn't save you from having two classes with the same properties. Seems like it could be worth a shot. Short of inventing a code generation tool I don't know how much better I can do.
- Autoload callback when certain class is called first time
What are some alternatives?
soap-client - A general purpose SOAP client for PHP
php-dto - A data transfer object inspired by Rust's serde
authorization - PSR7 Middleware for authorization
Serializer - Library for (de-)serializing data of any complexity (supports JSON, and XML)
JsonMapper - Map nested JSON structures onto PHP classes
package-skeleton-laravel - A skeleton repository for Spatie's Laravel Packages
csrf - PSR-15 middleware implementing CSRF protection
git-auto-commit-action - Automatically commit and push changed files back to GitHub with this GitHub Action for the 80% use case.
laminas-hydrator - Serialize objects to arrays, and vice versa
fram - Fram is a view framework for PHP
ObjectHydrator - Object Hydration library to create Command and Query objects.
Doctrine - Doctrine Object Relational Mapper (ORM)