PhlyRestfully BasicsΒΆ
PhlyRestfully allows you to create RESTful JSON APIs that adhere to Hypermedia Application Language. For error handling, it uses API-Problem.
The pieces you need to implement, work with, or understand are:
- Writing event listeners for the various
PhlyRestfully\Resource
events, which will be used to either persist resources or fetch resources from persistence. - Writing routes for your resources, and associating them with resources and/or
PhlyRestfully\ResourceController
. - Writing metadata describing your resources, including what routes to associate with them.
All API calls are handled by PhlyRestfully\ResourceController
, which in
turn composes a PhlyRestfully\Resource
object and calls methods on it. The
various methods of the controller will return either
PhlyRestfully\ApiProblem
results on error conditions, or, on success, a
PhlyRestfully\HalResource
or PhlyRestfully\HalCollection
instance; these
are then composed into a PhlyRestfully\View\RestfulJsonModel
.
If the MVC detects a PhlyRestfully\View\RestfulJsonModel
during rendering,
it will select PhlyRestfully\View\RestfulJsonRenderer
. This, with the help
of the PhlyRestfully\Plugin\HalLinks
plugin, will generate an appropriate
payload based on the object composed, and ensure the appropriate Content-Type
header is used.
If a PhlyRestfully\HalCollection
is detected, and the renderer determines
that it composes a Zend\Paginator\Paginator
instance, the HalLinks
plugin will also generate pagination relational links to render in the payload.