Looking to hire Laravel developers? Try LaraJobs

laravel-fractalhelper maintained by eventhomes

Description
Compatible with Laravel 5+ and Lumen 5+.
Author
Last update
2020/01/28 11:33 (dev-master)
License
Links
Downloads
88 743

Comments
comments powered by Disqus

Laravel 5 / Lumen 5 Fractal Api Controller

A simple api controller helper utilizing league fractal. You also get all the functionality provided by https://github.com/eventhomes/laravel-apicontroller

Installation

composer require eventhomes/laravel-fractalhelper

Basic Usage

By default, this helper will use ArraySerializer(), no setup required. You may, however, need to parse the GET includes.

...
use EventHomes\Api\FractalHelper;

class MyController extends Controller {

    use FractalHelper;

    public function __construct(Request $request)
    {
        $this->parseIncludes($request->get('includes', ''));
    }
}

Customize Fractal

If you need to change the default ArraySerializer(), you can modify.

...
use EventHomes\Api\FractalHelper;

class MyController extends Controller {

    use FractalHelper;

    public function __construct(Manager $manager, Request $request)
    {
        $manager->setSerializer(new JsonApiSerializer);
        $this->setFractal($manager)->parseIncludes($request->get('includes', ''));
    }
}

Respond with item

public function show($id)
{
    $user = User::find($id);
    return $this->respondWithItem($user, new UserTransformer);
}

Respond with collection

public function index()
{
    $users = User::all();
    return $this->respondWithCollection($users, new UserTransformer);
}

Respond with collection, paginated

public function index()
{
    $users = User::paginate(10);
    return $this->respondWithCollection($users, new UserTransformer);
}