lumen-fractal
lumen-fractal copied to clipboard
Fractal module for the Lumen PHP framework.
Lumen Fractal
Fractal module for the Lumen PHP framework.
Requirements
Setup
Installation
Run the following command to install the package through Composer:
composer require nordsoftware/lumen-fractal
Configuration
Copy the configuration template in config/fractal.php
to your application's config
directory and modify according to your needs.
For more information see the Configuration Files section in the Lumen documentation.
Available configuration options:
- default_serializer - Default serializer to use for serialization, defaults to null
Bootstrap
Add the following lines to bootstrap/app.php
:
$app->register('Nord\Lumen\Fractal\FractalServiceProvider');
Optionally you can also use Nord\Lumen\Fractal\FractalMiddleware
to parse includes automatically from the request.
$app->middleware([
.....
'Nord\Lumen\Fractal\Middleware\FractalMiddleware',
]);
Usage
You can now use Nord\Lumen\Fractal\FractalService
to access Fractal anywhere in your application.
Here is a few examples on how you can serialize data if you are using Eloquent:
public function getBook(FractalService $fractal, $id) {
// load the book model ...
return response()->json($fractal->item($book, new BookTransformer)->toArray());
}
public function listBooks(FractalService $fractal) {
// load the book collection ...
return response()->json($fractal->collection($books, new BookTransformer)->toArray());
}
Contributing
Please read the guidelines.
Running tests
Clone the project and install its dependencies by running:
composer install
Run the following command to run the test suite:
vendor/bin/codecept run unit
License
MIT, see LICENSE.