zfr / zfr-rest
Zend Framework 2 REST Module.
Installs: 19 950
Dependents: 0
Suggesters: 0
Security: 0
Stars: 81
Watchers: 19
Forks: 31
Open Issues: 18
Requires
- php: >=5.5
- zendframework/zend-http: ~2.2
- zendframework/zend-inputfilter: ~2.2
- zendframework/zend-modulemanager: ~2.2
- zendframework/zend-mvc: ~2.2
- zendframework/zend-paginator: ~2.2
- zendframework/zend-servicemanager: ~2.2
- zendframework/zend-stdlib: ^2.7 || ^3.0
- zendframework/zend-view: ~2.2
Requires (Dev)
- phpunit/phpunit: ~4.1
- squizlabs/php_codesniffer: 1.4.*
- zendframework/zendframework: ~2.2
README
Installation
Install the module by typing (or add it to your composer.json
file):
php composer.phar require zfr/zfr-rest:0.5.*
Then, add the keys "ZfrRest" to your modules list in application.config.php
file, and copy-paste the file
zfr_rest.global.php.dist
into your autoload
folder (don't forget to remove the .dist extension at the end!).
ZfrRest 0.4+ vs ZfrRest 0.3
Starting from version 0.4, ZfrRest has been completely rewritten from scratch. Previously, ZfrRest used to do a lot of things automatically for you, from rendering, to automatic routing and creation of routes. While it was nice for very simple use cases, it was actually very hard to extend, introduced a lot of performance problems and was quite unflexible.
Now, ZfrRest is more a "small REST utility". It provides a simple way to handle HTTP exceptions, a lightweight controller that can both handle action and HTTP verbs, and a view layer adapted for resource rendering (that can optionally use versioning to render a resource differently based on the version). You can consider ZfrRest as a module that you can use if you want to create a REST API, instead of a full-blown module like Apigility or previous ZfrRest versions.
Additionally, dependency to Doctrine has been completely removed and can be used by anyone.
ZfrRest vs Apigility
Apigility is a Zend Framework 2 API builder that also aims to simplify the creation of REST APIs.
Starting from ZfrRest 0.4+, there is actually nothing in common between those two libraries. Apigility is a full-blown module that does a lot of things, from headers negotiation, automatic rendering, link generation, a code-generator... On the other hand, ZfrRest is the bare metal, and leave most of the responsibility and power to you.
Documentation
The official documentation is available in the /docs folder.