Package Data | |
---|---|
Maintainer Username: | maxbrokman |
Maintainer Contact: | max.brokman@vice.com (Max Brokman) |
Package Create Date: | 2016-07-13 |
Package Last Update: | 2022-03-26 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-23 03:16:04 |
Package Statistics | |
---|---|
Total Downloads: | 1,475 |
Monthly Downloads: | 2 |
Daily Downloads: | 0 |
Total Stars: | 1 |
Total Watchers: | 4 |
Total Forks: | 1 |
Total Open Issues: | 1 |
Fractal lets you present API data in a consistent way, by acting as an anti-corruption layer between your frontend and backend.
Require this package
composer require vice/laravel-fractal
And then add the following to the service providers in app.php
Vice\LaravelFractal\FractalServiceProvider::class,
To send a JSON representation of a single entity to the frontend simply
public function show($id)
{
//...
fractalResponse()->item($thing, new ThingTransformer);
}
To send a JSON representation of a collection of entities to the frontend simply
public function index()
{
//...
fractalResponse()->collection($things, new ThingTransformer);
}
The collection method also supports paginators, and will automatically append their state under a meta
key
If you need to transform data without immediately using it in a response you may inject Vice\LaravelFractal\FractalService
into your controller / class and use it as so:
$json = $this->fractalService->item($thing, new ThingTransformer)->toJson();
Please open any issues or pull requests on GitHub. This package is maintained by max.brokman@vice.com
For PRs please run the style fixer (vendor/bin/php-cs-fixer fix) before submitting.