[6.x] Added creation of custom Cast classes for Eloquent #30953
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Recently, my #30931 PR was rejected and I understand the reason, since my proposal implies an increase in the amount of processed code. This is not entirely good.
In exchange, I suggest introducing a new type of object - custom Cast objects that allow developers to choose how to handle their values.
The application process is as follows:
php artisan make:cast
command, the developer creates a cast file.app/Http/Casts
directory), the developer himself determines the behavior of thehandle
method:In my opinion, this approach will not only save the amount of code for the “box” of the framework, but also significantly expand its functionality.
In addition, I removed the methods for working with castes from the
hasAttributes
trait, which allowed me to keep the code cleaner.