akmeh/api-transformer

API Tool for transform the output easily between Laravel/Lumen API.

0.1.0 2018-07-17 12:20 UTC

This package is not auto-updated.

Last update: 2024-04-18 16:04:19 UTC


README

Using Laravel/Lumen as a framework and Fractal PHP League I need a fast way to create controllers giving them proper format

How to use it on your controllers

<?php
declare(strict_types=1);

namespace App\Http\Controllers;

use APITransformer\Transformer;
use App\Country;
use App\Transformers\CountryTransformer;
use Illuminate\Http\Request;
use Illuminate\Http\Response;

/**
 * Class CountriesController
 * @package App\Http\Controllers
 */
class CountriesController extends  Controller
{
    use Transformer;

    public function index(Request $request)
    {
        $collection = Country::all();
        $response = $this->transformCollection(
            $collection, new CountryTransformer(), 'countries', $request
        );

        $httpCode = $collection->count() ? Response::HTTP_OK : Response::HTTP_NO_CONTENT;
        return response()->json($response, $httpCode);
    }
}