plata/fravel

A Fractal wrapper for Laravel

v1.1.2 2017-09-15 01:15 UTC

This package is not auto-updated.

Last update: 2024-04-28 00:12:37 UTC


README

License

A Fractal wrapper for Laravel

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?

Installation

Composer

composer require plata/fravel

Then in your config/app.php's provider array:

'providers' => [
  // ...
  'Plata\Fravel\FravelServiceProvider::class',
  // ...
]

and within the same file,

'aliases' => [
  // ...
  ''Fractal' => \Plata\Fravel\Facade\Fractal::class',
  // ...
]

Usage

For a collection of resource,

$resource = Fractal::collection(User::all(), $transformer);

return Response::fractal($resource);

For a single resource,

$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!

Transformers

Existing Model and Migration

php artisan make:transformer UserTransformer

For non existing model/migration, just append -t flag

php artisan make:model User -m -t

Configurations

Fravel ships with a configuration file where you can change any Fractal specific behaviour. Just run:

php artisan vendor:publish

Support

Need more control? Check this thorough documentation of Fravel.