Skip to content

A flexible API package for PHP. Fits perfectly with Laravel and Laravel Doctrine.

License

Notifications You must be signed in to change notification settings

randomstate/api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

randomstate/api

A flexible API package for PHP. Fits perfectly with Laravel and Laravel Doctrine. This is a barebones package that is agnostic to any given PHP application or framework. As a result, there is a lot of legwork to wire up the different components to get started.

Please see randomstate/laravel-api for an out-of-the-box integration with Laravel that does this all for you.

Installation

composer require randomstate/api

Basic Usage

Input Transformation

<?php

use \RandomState\Api\Transformation\Manager;
use \RandomState\Api\Transformation\Fractal\Resolver;
use \RandomState\Api\Transformation\Fractal\Switchboard;
use \RandomState\Api\Transformation\Adapters\Fractal\CollectionAdapter;
use \RandomState\Api\Transformation\Adapters\Fractal\ItemAdapter;

$manager = new Manager;
$resolver = new Resolver()
$resolver->bind(MyOwnEntityFromSomewhere::class, MyOwnEntityFractalTransformer::class);
$switchboard = new Switchboard($resolver);

$manager->register(
    new CollectionAdapter($switchboard),
    new ItemAdapter($switchboard)
);

$data = new MyOwnEntityFromSomewhere;

$output = $manager->transform($data); // will use MyOwnEntityFractalTransformer via Fractal to transform the data

About

A flexible API package for PHP. Fits perfectly with Laravel and Laravel Doctrine.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages