akmeh/api-transformer

Laravel/Lumen API 输出转换的 API 工具。

0.1.0 2018-07-17 12:20 UTC

This package is not auto-updated.

Last update: 2024-09-19 17:51:40 UTC


README

使用 Laravel/Lumen 作为框架和 Fractal PHP League,需要一个快速的方法来创建控制器并给予它们适当的格式。

如何在控制器中使用它

<?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);
    }
}