package-skeleton-laravel
data-transfer-object
package-skeleton-laravel | data-transfer-object | |
---|---|---|
5 | 16 | |
1,900 | 2,177 | |
1.5% | - | |
7.4 | 6.4 | |
8 days 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.
package-skeleton-laravel
-
Do you check package tests before using the package in your project?
Yeah. Exactly what you see here https://github.com/spatie/package-skeleton-laravel/blob/main/tests/ExampleTest.php ...it's the starter file that hasn't been changed.
-
Laravel Tip: Automatically updating your projects’ dependencies in GitHub
Now, I will confess, I didn’t write this from scratch as it was originally taken from the Spatie package template repository. But overall the logic is pretty simple in that, when a PR is produced by the dependabot user it will run.
-
Workflow to keep CHANGELOG up-to-date with Release Notes
https://github.com/spatie/package-skeleton-laravel (A very popular PHP package template)
-
Where to start in package development?
Spatie's Laravel Packages Skeleton: https://github.com/spatie/package-skeleton-laravel
- Using Docker with Spatie's Laravel Package development
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?
laravel-livewire-ui - Laravel Livewire UI, Auth, & CRUD starter kit.
php-dto - A data transfer object inspired by Rust's serde
docker-compose-laravel - A docker-compose workflow for local Laravel development
Serializer - Library for (de-)serializing data of any complexity (supports JSON, and XML)
git-auto-commit-action - Automatically commit and push changed files back to GitHub with this GitHub Action for the 80% use case.
changelog-updater-action - A GitHub Action to automatically update a "Keep a Changelog" CHANGELOG with the latest release notes.
fram - Fram is a view framework for PHP
Construct - A PHP project/micro-package generator for PDS compliant projects or micro-packages.
Valinor - PHP library that helps to map any input into a strongly-typed value object structure.
php-changelog-updater - PHP CLI to add latest release notes to a CHANGELOG
Doctrine - Doctrine Object Relational Mapper (ORM)