Download the PHP package mcustiel/php-simple-conversion without Composer
On this page you can find all versions of the php package mcustiel/php-simple-conversion. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mcustiel/php-simple-conversion
More information about mcustiel/php-simple-conversion
Files in mcustiel/php-simple-conversion
Package php-simple-conversion
Short Description A simple and minimalistic library to ease conversion between different types and classes
License GPL-3.0+
Informations about the package php-simple-conversion
php-simple-conversion
What is it?
php-simple-conversion is a minimalistic conversion service for PHP. It's meant to be performant and easy to use. It allows developers to register a series of converter classes that converts from one type to another. The converters are instantiated only when they are needed, minimizing memory use and avoiding unnecessary processing.
Installation
Composer:
This project is published in packagist, so you just need to add it as a dependency in your composer.json:
Or just download the release and include it in your path.
How to use it?
Define your converters
First of all, you have to define the converters you will use. As an example, supose you have two classes that represents a Person: one of them represents it in the format it is persisted in db, the other represents it as used in application's logic.
You need a service that abstracts the access to database from the logic, in that service you will use a converter to convert from the class returned from the DAO to the class used by the logic and return it. Following there is an example of the converter your service should use.
You can define all the converters you want and then register them.
Registering
In your bootstrap file (or some startup script) you must register all the converters you have defined.
Convert
Then you just need to inject the ConversionService to any class where you want to do conversions and call it as follows:
The library will automatically take care of resolving the registered service and calling it to convert your object to the desired one.
Converting from parent class
Optionally, you can tell the conversion service to search for a converter configured for a parent class. Supose you have a class B that inherits from class C, a converter from C to A, and you want to convert from B to A. This is possible by telling the converter to search for converters for parent classes:
Notes
Currently you can only set 'string', 'array' or a full class name as 'from' and 'to' parameters in the converter builder.