Awesome Open Source
Awesome Open Source
archived Archived Repository
This code is no longer maintained. Feel free to fork it, but use it at your own risks.

Marmelab Microrest

Microrest is a Silex provider to setting up a REST API on top of a relational database, based on a YAML (RAML) configuration file.

Check out the launch post.

What is RAML ?

RESTful API Modeling Language (RAML) is a simple and succinct way of describing practically-RESTful APIs. It encourages reuse, enables discovery and pattern-sharing, and aims for merit-based emergence of best practices.

You can easily set up a RAML file from API Designer.

Installation

To install microrest.php library, run the command below and you will get the latest version:

composer require marmelab/microrest "[email protected]"

Enable ServiceController, Doctrine and Microrest service providers in your application:

$app->register(new Silex\Provider\ServiceControllerServiceProvider());
$app->register(new Silex\Provider\DoctrineServiceProvider(), array(
    'db.options' => array(
        'driver'   => 'pdo_sqlite',
        'path'     => __DIR__.'/app.db',
    ),
));
$app->register(new Marmelab\Microrest\MicrorestServiceProvider(), array(
    'microrest.config_file' => __DIR__ . '/api.raml',
));

You need to give the path to the RAML file describing your API. You can find an example into the tests/fixtures directory.

Then, browse your new API REST on the url defined in the baseUrl configuration of your RAML api file.

Tests

Run the tests suite with the following commands:

make install
make test

Demo

You can find a complete demo application in examples/ng-admin. You just need 2 commands to install and run it:

make install-demo
make run-demo

Play with the Silex demo API at the url: http://localhost:8888/api

Explore the API using ng-admin backend administration at the url: http://localhost:8888/admin

License

microrest.php is licensed under the MIT License, courtesy of marmelab.

Alternatives To Microrest.php
Select To Compare


Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Php (293,349
Rest (29,175
Rest Api (17,425
Doctrine Orm (2,785
Silex (1,106
Raml (516