Download the PHP package nocarrier/hal without Composer
On this page you can find all versions of the php package nocarrier/hal. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nocarrier/hal
More information about nocarrier/hal
Files in nocarrier/hal
Package hal
Short Description application/hal builder / formatter for PHP 5.3+
License MIT
Homepage https://github.com/blongden/hal
Informations about the package hal
Nocarrier\Hal
This is a library for creating documents in the application/hal+json and application/hal+xml hypermedia formats
It requires PHP 5.4 or later.
Installation
The preferred method of installation is via packagist as this provides the PSR-0 autoloader functionality. The following command will download and install the latest version of the Hal library into your project.
Alternatively, clone the project and install into your project manually.
License
Nocarrier\Hal is licensed under the MIT license.
Usage
Creating Hal Resources
A Hal resource can be created with no values set:
with a URI for the resource:
and also with an array of data:
Hal resources can also be created from existing XML or JSON documents:
The depth of embedded resources parsed with both these methods is controlled by a second argument, which defaults to 0:
Getting Representations
The Hal resource can be formatted as JSON or XML:
which with a first argument of true
for pretty printing:
gives:
and
gives:
Data
The data can be set through setData
and read with getData
:
Using array keys in the data for the XML representation can be done by
prefixing the key with @
:
gives:
The @
is ignored if JSON is rendered:
Links
Links can be added to the resource by providing the rel identifying them and a URI:
gives:
If a Hal object has been created from a response returned from elsewhere it can be helpful to retrieve the links from it.
and
outputs:
Embedded Resources
As well as linking to resources so that the client can fetch them they can be directly embedded in the resource.
outputs: