2017 © Pedro Peláez
 

library dto

Laravel array formatter similarity DTO

image

valeryq/dto

Laravel array formatter similarity DTO

  • Thursday, January 15, 2015
  • by valeryq
  • Repository
  • 1 Watchers
  • 1 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Laravel array formatter similarity DTO

Introduction

Laravel can serialize EloquentModel or EloquentCollection to array, but it can't get only certain data (for example: return JSON from controller). DTO can return to response only certain data large nested., (*1)

Installation

Require this package in your composer.json and update composer. This will download the package., (*2)

"valeryq/dto": "1.0.0"

After updating composer, add the ServiceProvider to the providers array in app/config/app.php, (*3)

'Valeryq\DTO\DTOServiceProvider',

You can use the facade for shorter code. Add this to your aliases:, (*4)

'DTO' => 'Valeryq\DTO\DTOFacade',

How it use

Eloquent model example:, (*5)

class UserController extends \BaseController 
{
    public function getUser() 
    {
        $user = UserModel::find(1);

        return DTO::make($user)->only(['id', 'firstname']);

        or

        return DTO::make($user)->except(['lastname']);
    }   
}

Eloquent collection example:, (*6)

class UserController extends \BaseController 
{
    public function getUser() 
    {
        $user = UserModel::where('firstname', 'Test')->get();

        return DTO::make($user)->only(['id', 'firstname']);

        or

        return DTO::make($user)->except(['lastname']);
    }   
}

Nested objects:, (*7)

class UserController extends \BaseController 
{
    public function getUser() 
    {
        $user = UserModel::with('posts')->find(1);

        return DTO::make($user)->only(['id', 'firstname', 'posts.id', 'posts.body']);

        or

        return DTO::make($user)->except(['lastname', 'posts.body']);
    }   
}

The Versions

15/01 2015

dev-master

9999999-dev

Laravel array formatter similarity DTO

  Sources   Download

The Requires

 

by Valery Zakharchenko

15/01 2015

1.0.0

1.0.0.0

Laravel array formatter similarity DTO

  Sources   Download

The Requires

 

by Valery Zakharchenko