Download the PHP package codememory/dto without Composer
On this page you can find all versions of the php package codememory/dto. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package dto
Codememory DTO
This library is mainly for Symfony, but you can also use it in native PHP. How is this library different from others? The library can automatically collect objects according to the given rules from the data that you specify, basically this is the data from the Request
Install
Injection
Use
Events
Codememory\Dto\Events\AfterAllProcessedTypeDecoratorsEvent
- Fires after all types of property decorators have been processed
Codememory\Dto\Events\AfterProcessedClassDecoratorsEvent
- Fires after all class decorators have been processed
Codememory\Dto\Events\AfterProcessedTypeDecoratorsEvent
- Fires after each type of decorator has been processed
Codememory\Dto\Events\BeforeAllProcessedTypeDecoratorsEvent
- Fires before all types of property decorators are processed
Codememory\Dto\Events\BeforeProcessedClassDecoratorsEvent
- Fires before class decorators are processed
Codememory\Dto\Events\BeforeProcessedTypeDecoratorsEvent
- Fires before the next type of property decorator is processed
Warnings
DTO does not support optional parameters, all parameters must be required and every key in data must exist at the time of passing to the manager
How to send Request Body?
No one knows what parameters will be passed from the client to the server. To avoid getting exceptions or fatal errors, you should do validation before mapping data. This library works well with different types of decorators, which will allow you to manage the priorities of processing decorators and after processing a particular type of decorator you can use events to validate the data before it is set to the object properties.
Example
We will use Symfony Validator for validation. The necessary decorator already exists inside the library, which will be able to collect all the constreints in one place
SymfonyValidation decorator has type Codememory\Dto\Interfaces\SymfonyValidationDecoratorTypeInterface this type of decorators is registered with priority 0, which will allow all decorators with this type to work before all others.
Listener for processing all contraints
You don't have to use the SymfonyValidation decorator, you can write your own. As an example, we show you the Symfony Validation decorator for Symfony Validation
Decorator
Decorator Handler
getClassExecutionContext returns the class context that is in effect at the time of one hydration, if there is a nesting in the object, the context for the nested object will be different.
All versions of dto with dependencies
codememory/reflection Version ^3.0
psr/event-dispatcher Version ^1.0
symfony/validator Version ^7.2