Download the PHP package w2w/apie-object-access-normalizer without Composer
On this page you can find all versions of the php package w2w/apie-object-access-normalizer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download w2w/apie-object-access-normalizer
More information about w2w/apie-object-access-normalizer
Files in w2w/apie-object-access-normalizer
Package apie-object-access-normalizer
Short Description Symfony normalizers used internally by Apie
License
Informations about the package apie-object-access-normalizer
apie-object-access-normalizer
Object access normalizer used internally by apie. It can be used outside Apie with the symfony serializer where it can replace the default object normalizers that are used there.
Usage with Symfony Serializer
The simplest usage is adding ApieObjectAccessNormalizer to the constructor of the Symfony serializer.
Unless the context option 'object_to_populate' is called it will first try to create a new object by reading the constructor arguments. Afterwards it will check all setters. If a setter throws an error the error is considered a validation error and will return a validation exception with errors structure.
ObjectAccess is also able to read property typehints in PHP 7.4+ and php docblocks with composer package phpdocumentor/reflection-docblock.
Camel case keys
By default the property name is the same as the key. We can override this in the ApieObjectAccessNormalizer class by providing a class implementing Symfony\Component\Serializer\NameConverter\NameConverterInterface.
Advanced usages
In many cases you wan to use ObjectAccess and only use a different ObjectAccessInterface implementation for a specific class or interface. For that we created GroupedObjectAccess.
Available object access implementations
- CachedObjectAccess: decorator to cache the results for performance reasons.
- FilteredObjectAccess: Filter the fields you can actually use. Another decorator
- GroupedObjectAccess: see Advanced usages. Can be used to use different Object Acces instances dependening on the class
- ObjectAccess: Default object access. Checks public properties and public setters and getters.
- SelfObjectAccess: Works for classes that implementSelfObjectAccessInterface, so the class can tell itself what it can access.
- LocalizationAwareObjectAccess: Can be used on objects with localization aware fields.
Localization
Since version 2 we add localization support. In your simple object add a setter like this and you have a localized field:
This will result in a setter and getter for field name 'pizza' with support of localization.
in Symfony framework
If you want to use it in the Symfony framework all you need to do is register class W2w\Lib\ApieObjectAccessNormalizer\Normalizers\ApieObjectAccessNormalizer as a service and tag it with 'serializer.normalizer' to add it to the symfony serializer.
All versions of apie-object-access-normalizer with dependencies
phpdocumentor/reflection-docblock Version ^4.3|5.*
symfony/http-kernel Version ^4.3|^5.0
symfony/property-info Version ^4.3|^5.0
symfony/serializer Version ^4.3|^5.0
psr/cache Version ^1.0