PHP code example of spatie / fractalistic
1. Go to this page and download the library: Download spatie/fractalistic library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
spatie / fractalistic example snippets
use League\Fractal\Manager;
use League\Fractal\Resource\Collection;
$books = [
['id'=>1, 'title'=>'Hogfather', 'characters' => [...]],
['id'=>2, 'title'=>'Game Of Thrones', 'characters' => [...]]
];
$manager = new Manager();
$resource = new Collection($books, new BookTransformer());
$manager->parseIncludes('characters');
$manager->createData($resource)->toArray();
Fractal::create()
->collection($books)
->transformWith(new BookTransformer())
->
Fractal::create($books, new BookTransformer())->toArray();
$books = [['id'=>1, 'title'=>'Hogfather'], ['id'=>2, 'title'=>'Game Of Kill Everyone']];
Spatie\Fractalistic\Fractal::create()
->collection($books)
->transformWith(function($book) { return ['id' => $book['id']];})
->toArray();
['data' => [['id' => 1], ['id' => 2]]
Fractal::create()
->collection($books)
->transformWith(new BookTransformer())
->toArray();
Fractal::create()
->collection($books)
->transformWith(BookTransformer::class)
->toArray();
Fractal::create()->collection($books, new BookTransformer())->toArray();
Fractal::create()->collection($books, new BookTransformer())->toJson();
Fractal::create()->item($books[0], new BookTransformer())->toArray();
['data' => [['id' => 1], ['id' => 2]];
Fractal::create()
->collection($books)
->transformWith(function($book) { return ['id' => $book['id']];})
->serializeWith(new \Spatie\Fractalistic\ArraySerializer())
->toArray();
//returns [['id' => 1], ['id' => 2]]
Fractal::create()
->collection($books)
->transformWith(BookTransformer::class)
->serializeWith(MySerializer::class)
->toArray();
Fractal::create()
->collection($this->testBooks, new TestTransformer())
->parseIncludes(['characters', 'publisher'])
->toArray();
Fractal::create()
->collection($this->testBooks, new TestTransformer())
->
Fractal::create()
->collection($this->testBooks, new TestTransformer())
->parseExcludes(['characters', 'publisher'])
->toArray();
Fractal::create()
->collection($this->testBooks, new TestTransformer())
->excludeCharacters()
->excludePublisher()
->toArray();
Fractal::create()
->collection($this->testBooks, function($book) { return ['name' => $book['name']];})
->addMeta(['key1' => 'value1'], ['key2' => 'value2'])
->toArray();
[
'data' => [
['title' => 'Hogfather'],
['title' => 'Game Of Thrones'],
],
'meta' => [
['key1' => 'value1'],
['key2' => 'value2'],
]
];
$paginator = Book::paginate(5);
$books = $paginator->getCollection();
Fractal::create()
->collection($books, new TestTransformer())
->serializeWith(new JsonApiSerializer())
->paginateWith(new IlluminatePaginatorAdapter($paginator))
->toArray();
$books = $paginator->getCollection();
$currentCursor = 0;
$previousCursor = null;
$count = count($books);
$newCursor = $currentCursor + $count;
Fractal::create()
->collection($books, new TestTransformer())
->serializeWith(new JsonApiSerializer())
->withCursor(new Cursor($currentCursor, $previousCursor, $newCursor, $count))
->toArray();
Fractal::create()
->collection($this->testBooks, new TestTransformer())
->serializeWith(new ArraySerializer())
->withResourceName('books')
->toArray();
Fractal::create()
->item($this->testBooks[0], new TestTransformer(), 'book')
->serializeWith(new ArraySerializer())
->toArray();
Fractal::create()
->collection($this->testBooks, new TestTransformer())
->
Fractal::create($books, new BookTransformer())->toArray();
Fractal::create($books, new BookTransformer(), new ArraySerializer())->toArray();
Fractal::create($books, BookTransformer::class, ArraySerializer::class)->toArray();
Fractal::create(['item1', 'item2'], function ($item) {
return $item . '-transformed';
})->toArray();