nuwave/ember-eloquent
Ember-Eloquent
Introduction
I have been working quite a bit with Ember recently and I wanted to create Ember Data formatted responses including sideloading. This proeject utilizes Fractal's JsonApiSerializer and tweaks it a bit to create json responses that are consumable by ember-data.
This is still a work in progress, so please use with caution
Installation
Install the composer package
composer require nuwave/ember-eloquent
Add the service provider to you app.php file
'NuWave\Serializers\SerializerServiceProvider',
Publish the config file
php artisan vendor:publish
Create your model transformers (Fractal)
Edit the config file with your application namespace (optional: you can also add a suffix if your naming convension utilizes it)
// config/ember.php
return [
/*
|---------------------------------------------------------------------
| Transformer Namespace
|---------------------------------------------------------------------
|
| Set the default namespace for your transformer
|
*/
'namespace' => 'MyApp\Transformers',
/*
|---------------------------------------------------------------------
| Transformer Suffix
|---------------------------------------------------------------------
|
| Set the suffix for your transformer naming convention.
|
| Default value is null
*/
'suffix' => null
];
Add EmberTrait to your controllers (or your base Controller). This will allow you to utilize the emberResponse method which takes your Model/Collection along with the model name and transforms it into an ember-data formatted response.
class UserController extends Controller {
use EmberTrait;
public function index()
{
$users = User::all();
// or
$users = User::paginate(20); // meta data will be included in response
return $this->emberResponse($users, 'User');
}
// ...
public function show($id)
{
$user = User::find($id);
return $this->emberResponse($user, 'User');
}
}
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.