HydraBundle
Hydra is a lightweight vocabulary to create hypermedia-driven Web APIs. By
specifying a number of concepts commonly used in Web APIs it renders the
creation of generic API clients possible., (*1)
This is a Symfony2 bundle which shows how easily
Hydra can be integrated in modern Web frameworks. It acts as a proof of
concept to show how Hydra can simplify the implementation of interoperable
and evolvable RESTful APIs., (*2)
WARNING: This is highly experimental stuff that isn't ready for
production use yet., (*3)
To participate in the development of this bundle, please file bugs and
issues in the issue tracker or submit pull requests. If you have questions
regarding Hydra in general, join the
Hydra W3C Community Group., (*4)
You can find an online demo of this bundle as well as more information about
Hydra on my homepage:
http://www.markus-lanthaler.com/hydra, (*5)
Installation
You can install this bundle by running, (*6)
composer require ml/hydra-bundle dev-master
or by adding the package to your composer.json file directly, (*7)
{
"require": {
"ml/hydra-bundle": "dev-master"
}
}
After you have installed the package, you just need to add the bundle
to your AppKernel.php
file:, (*8)
// in AppKernel::registerBundles()
$bundles = array(
// ...
new ML\HydraBundle\HydraBundle(),
// ...
);
and import the routes in your routing.yml
file:, (*9)
hydra:
resource: "@HydraBundle/Controller/"
type: annotation
prefix: /
Credits
This bundle heavily uses the
Doctrine Common project
and is inspired by its
object relational mapper.
The code generation is based on Sensio's
SensioGeneratorBundle., (*10)