Download the PHP package guennichi/property-loader without Composer
On this page you can find all versions of the php package guennichi/property-loader. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download guennichi/property-loader
More information about guennichi/property-loader
Files in guennichi/property-loader
Package property-loader
Short Description PHP library to dynamically load object properties
License MIT
Homepage https://guennichi.com
Informations about the package property-loader
Dynamic Property Loader Library
A PHP library to dynamically load object properties using custom handlers (useful for DTO's). It comes
with two ClassMetadata
mapping loaders.
- StaticMethodLoader: Load mapping configuration using
configurePropertyLoaderMetadata()
method. - AnnotationLoader: Load mapping configuration using annotations existed on
src/Loaders/
directory
Installation
The recommended way to install property-loader
is using
Composer.
Next, run the Composer command to install the latest stable version of ibanfirst-sdk
.
After installing, you need to require Composer's autoloader:
Usage
The entry point of this library is the Guennichi\PropertyLoader
class.
Create a Custom Property Loader
Create the Loader
You can create a custom loader by extending the base abstract loader class,
Guennichi\PropertyLoader\Loader
. By doing so, you'll be able to manage
even how your custom loader will load the property inside a given object.
As an example you're going to create a basic property loader that dynamically generates an email address inside a property for a person object.
Create the Loader Handler
As you can see, a loader class is fairly minimal.
The actual handler is performed by another “constraint validator” class.
The constraint validator class is specified
by the constraint’s handledBy()
method, which has this default logic:
In other words, if you create a custom Loader (e.g. Email
),
PropertyLoader library will automatically look for another class,
EmailHandler
when actually performing the loading.
The handler class only has one required method handle()
, check guennichi/property-loader-bundle
package
for more details about handlers.
Using the new Loader
As you can see here, we added the new custom loader inside the Person class, in our case, we want to load the property "email" based on the value of the "name" property.
Now, it's time to see how things are going for our Person object:
Supporting PHP >= 7.4
This client library only supports PHP version >= 7.4 , Check Supported Versions for more information.
Questions?
If you have any questions please open an issue.
License
This library is released under the MIT License. See the bundled LICENSE file for details.