Fravel
, (*1)
A Fractal wrapper for Laravel, (*2)
Fractal is designed in such a way that it could be used by any frameworks or no framework at all. But wouldn't it be cool if we can use it like it's build right on top of Laravel?, (*3)
Installation
Composer
composer require plata/fravel
Then in your config/app.php
's provider array:, (*4)
'providers' => [
// ...
'Plata\Fravel\FravelServiceProvider::class',
// ...
]
and within the same file,, (*5)
'aliases' => [
// ...
''Fractal' => \Plata\Fravel\Facade\Fractal::class',
// ...
]
Usage
For a collection of resource,, (*6)
$resource = Fractal::collection(User::all(), $transformer);
return Response::fractal($resource);
For a single resource,, (*7)
$resource = Fractal::item(User::find(1), $transformer);
return Response::fractal($resource);
Generators
Everyone knows that developers doesn't like repetitive tasks. That's why generators are really helpful for creating a base template for you!, (*8)
Existing Model and Migration, (*9)
php artisan make:transformer UserTransformer
For non existing model/migration, just append -t
flag, (*10)
php artisan make:model User -m -t
Configurations
Fravel ships with a configuration file where you can change any Fractal specific behaviour. Just run:, (*11)
php artisan vendor:publish
Support
Need more control? Check this thorough documentation of Fravel., (*12)