Fractal Wrapper
, (*1)
This package puts a nice wrapper around the fractal package: http://fractal.thephpleague.com. It handles the nitty gritty task of spinning up the manager, creating a resource and provides a convient location to register your transformers., (*2)
Installation
Add this to your composer.json
require:, (*3)
"bastian/fractal-magic": "dev-master"
and run composer update
., (*4)
Usage
``` php
$fractal = new Hofmann\FractalMagic\Fractal([
'posts' => new ResourceTransformer
]);, (*5)
// Singular for a fractal item, (*6)
$fractal->post(['title' => 'Hello']);, (*7)
// Plural for a fractal collection, (*8)
$fractal->posts([
['title' => 'Hi!']
]);, (*9)
Notice that you only have to set the singular resource binding.
This will return a Symfony response with the data in place, which you can return from your controller or route closure.
## Laravel Usage
For usage in laravel I suggest you register a `Response::macro` like this:
``` php
Response::macro('fractal', function()
{
return new Hofmann\FractalMagic\Fractal([
'resource' => new ResourceTransformer
]);
});
Now you can use this in your controller:, (*10)
``` php
class SomeController {, (*11)
public function index()
{
return Response::fractal()->resources($data);
}, (*12)
}
```, (*13)