Package Data | |
---|---|
Maintainer Username: | gathercontent |
Maintainer Contact: | andrew@gathercontent.com (Andrew Cairns) |
Package Create Date: | 2014-06-15 |
Package Last Update: | 2016-11-29 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-12-15 03:01:43 |
Package Statistics | |
---|---|
Total Downloads: | 152,480 |
Monthly Downloads: | 1,036 |
Daily Downloads: | 7 |
Total Stars: | 50 |
Total Watchers: | 11 |
Total Forks: | 12 |
Total Open Issues: | 6 |
A Laravel Service Provider for League/Fractal.
Add laravel-fractal to your composer.json file:
"require": {
"gathercontent/laravel-fractal": "~1.0"
}
Get composer to install the package:
$ composer require gathercontent/laravel-fractal
Register the service provider within the providers
array found in app/config/app.php
:
'providers' => array(
// ...
GatherContent\LaravelFractal\LaravelFractalServiceProvider::class
)
Add an alias within the aliases
array found in app/config/app.php
:
'aliases' => array(
// ...
'Fractal' => GatherContent\LaravelFractal\LaravelFractalFacade::class,
)
To override the default configuration, you can publish the config files to your application. Artisan can do this automatically for you via the command line:
$ php artisan vendor:publish
Formatting a single item:
// routes.php
Route::get('/me', array('before' => 'auth', function () {
return Fractal::item(Auth::user(), new UserTransformer);
}));
Formatting a collection:
// routes.php
Route::get('/comments', function () {
return Fractal::collection(Comment::all(), new CommentTransformer);
});
Adding meta data:
// routes.php
Route::get('/comments', function () {
return Fractal::collection(Comment::all(), new CommentTransformer, function ($resources) {
$resources->setMetaValue('foo', 'bar');
});
});
Returning a paginated collection:
// routes.php
Route::get('/comments', function () {
return Fractal::collection(Comment::paginate(), new CommentTransformer);
});
Using a custom pagination adapter:
// routes.php
Route::get('/comments', function () {
$comments = Comment::paginate();
$adapter = new MyIlluminatePaginationAdapter($comments);
return Fractal::collection($comments, new CommentTransformer, null, $adapter);
});