Skip to content

teepluss/laravel4-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e34b169 · Mar 4, 2016

History

88 Commits
Dec 16, 2014
Jul 14, 2014
Sep 5, 2013
Mar 27, 2013
Sep 5, 2013
Apr 29, 2014
Aug 31, 2015
Mar 27, 2013

Repository files navigation

Laravel HMVC.

This package is no longer updated anymore, Now I've splited this package into 2.

API is a tool for making internal request (HMVC).

Installation

To get the lastest version of Theme simply require it in your composer.json file.

"teepluss/api": "dev-master"

You'll then need to run composer install to download it and have the autoloader updated.

Once Theme is installed you need to register the service provider with the application. Open up app/config/app.php and find the providers key.

'providers' => array(

    'Teepluss\Api\ApiServiceProvider'

)

API also ships with a facade which provides the static syntax for creating collections. You can register the facade in the aliases key of your app/config/app.php file.

'aliases' => array(

    'API' => 'Teepluss\Api\Facades\API'

)

Publish config using artisan CLI.

php artisan config:publish teepluss/api

Usage

API helping you to work with internal request.

Internal testing request.

// GET Request.
API::get('user/1');

// POST Request.
API::post('user', array('title' => 'Demo'));

// PUT Request.
API::put('user/1', array('title' => 'Changed'));

// DELETE Request.
API::delete('user/1');

// Internal request with domain route.
API::invoke('http://api.domain.com', 'post', array('param' => 1))

// You can make remote request without changing code also.
API::post('http://api.github.com', array('username' => 'teepluss'));

// Request remote with invokeRemote.
API::invokeRemote('http://api.github.com', 'post', array('username' => 'teepluss'));

// Get Guzzle to use other features.
$guzzle = API::getRemoteClient();

Remote request using Guzzle as an adapter.

Calling via artisan CLI.

// Internal GET.
$ php artisan api:call --request GET /some/route?param=value

// Internal POST.
$ php artisan api:call --request POST /some/form --data "name=Tee"

// Remote request.
$ php artisan api:call --request GET http://google.com

also work with DELETE, PATCH, HEAD

Create reponses format for RESTful.

// Response entries.
$users = User::all();
API::createResponse($users);

// Response entry.
$user = User::find($id);
return API::createResponse($user);

// Response Laravel error.
$errors = $validation->messages()->all(':message');
return API::createResponse(compact('errors'), 400);

// Response created data.
$user = Url::create($data);
return API::createResponse($user, 201);

// Response 404.
API::createResponse("User [$id] was not found.", 404);

//Response deleted.
API::createResponse(null, 204);

For RESTful response recommended to use Restable instead.

Changes

v1.0.1

  • Add artisan CLI.

v1.0.0

  • Release first master version.

Support or Contact

If you have some problem, Contact [email protected]

Support via PayPal