A base controller for laravel that handles formatting.
composer require "rob-mccann/laravel-restful"
Once you've grabbed the code, you'll need to add the RoutingServiceProvider to the list of providers in app/config/app.php as follows
'providers' => array(
...
'RobMcCann\Restful\RoutingServiceProvider',
),
The concept uses the same principles as laravel's resource routing. Your controller should extend the one in this package. Each action should return an array which will automatically be formatted.
Add the route to app/routes.php:
Route::resource('posts', 'PostsController');
Then add the controller as follows
use RobMcCann\Restful\RestfulController as Controller;
class PostController extends Controller {
public function index() {
return array(
array(
'id' => 1,
'title' => 'Released a RESTful controller',
),
);
}
}
I plan on changing some of the internals and class struture within this package but the implmentation shouldn't be affected.
- Split the controller down so that the encoding happens elsewhere to allow for easier extending
- Add other encoders (php array, csv etc)
- Add more documentation
- Investigate if traits would be better suited for parts
- Investigate making this framework agnostic (unlikely, but worth thinking about at least)