Download the PHP package sauvesolutions/presenters without Composer
On this page you can find all versions of the php package sauvesolutions/presenters. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sauvesolutions/presenters
More information about sauvesolutions/presenters
Files in sauvesolutions/presenters
Package presenters
Short Description Simple inverse presenter for Laravel
License MIT
Informations about the package presenters
Presenters/Unpresenters Framework
Presenters are often used to convert data in a storage format for display. Typical implementations use the decorator pattern.
A similar problem exists when receiving information back from a user, for example on a web form. This needs to be converted from a human readable format into a format suitable for storage.
This is an Unpresenter.
This implementation provides four core capabilities
- Automatically handles date conversion from a defined format into a Carbon instance for storage
- Automatically handles checkboxes from forms (not nested)
- Handles validation simply
- Provides facility to mutate any attribute.
Requirements
- Laravel
- As for Laravel >= v4.1
Installation
You must install this library through Composer:
Usage
Using the library is very simple.
- Derive an unpresenter class from SauveSolutions\presenters\Unpresenter and implement the functionality you need, typically this is just listing the date variables, the checkbox variables and the validation rules.
- In a controller instantiate an instance of the Unpresenter and pass the input array to the constructor.
- Call validate and trap any ValidationExceptions thrown.
- Access input variables directly from the unpresenter instance.
Then in your controller method, for example Store.
Alternative
An alternative is to call $unpresenter->parseInput() which processes all of the input data and returns a plain php array of the transformed inputs.
FAQ
The DateConverter trait uses an English locale date format (d/m/Y) how can I change this? The simplest approach would be to derive your own Unpresenter class which overrides DateConverter::getDateFormat(). It is expected in any non trivial application that the date format is an attribute of the User or a similar global setting. Then use your Unpresenter class as the base class of any other Unpresenters you create.
Laravel 4.3
Laravel 4.3 has implemented a new FormRequest object that performs the validation functionality of the Unpresenter class. Together with the ability to resolve a class from a hint on a controller method out of the IoC container will provide a further productivity boost. It is likely that the Unpresenter functionality can be combined with the FormRequest functionality in a subclass to provide the transformation capbility. This will be investigated in a future update.