Download the PHP package saasformation/magic-field without Composer
On this page you can find all versions of the php package saasformation/magic-field. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download saasformation/magic-field
More information about saasformation/magic-field
Files in saasformation/magic-field
Package magic-field
Short Description MagicField is a library to convert mixed values into desired typed values -when doable.
License MIT
Informations about the package magic-field
MagicField
FieldMagic is a library to convert mixed values into desired typed values -when doable.
It is very useful, for instance, when reading JSON body requests in controllers.
Installation
Use composer to require the library:
Getting started
Let's imagine you have the following array with data (maybe from a json_decode call):
Now, you can do the following:
Two advantages:
- You now have the value typed.
- If any of the source values were not compatible with type changing, an InvalidConversionException would be thrown.
If you were going to get data from a JSON body request in a controller, you could do something as cool as this:
Adding a new converter
Sometimes you don't have enough with the StandardField converters available.
To add a new one, you have to create a new trait:
Bear in mind is a mixed value, so for production proposes you may validate data better than in this example.
Now, you need to create a new Field class. If you want to have all the StandardField converters also available, you can inherit from StandardField. If not, directly from Field:
Now you can just use the new Field based class the same way as the StandardField one:
Users of stratdes/vo
Users of stratdes/vo may find saasformation/vo-magic-field-bridge useful to add converters for single VO's and collections.
Issues
If you find some issue in the library, please feel free to open an issue here on Github.