Skip to content

Repository files navigation

Hal

Build Status

<?phpuseHal\Resource,
Hal\Link;
/* Create a new Resource Parent */$parent = newResource('/dogs');
/* Add any relevent links */$parent->setLink(newLink('/dogs?q={text}', 'search'));
$dogs[1] = newResource('/dogs/1');
$dogs[1]->setData(
array(
'id' => '1', 'name' => 'tiber', 'color' => 'black'
)
);
$dogs[2] = newResource(
'/dogs/2',array(
'id' => '2', 'name' => 'sally', 'color' => 'white'
)
);
$dogs[3] = newResource(
'/dogs/3',array(
'id' => '3', 'name' => 'fido', 'color' => 'gray'
)
);
/* Add the embedded resources */foreach ($dogsas$dog) {
$parent->setEmbedded('dog', $dog);
}
echo (string) $parent;

Result:

{"_links":{"self":{"href":"\/dogs"},"search":{"href":"\/dogs?q={text}"}},"_embedded":{"dog":[{"_links":{"self":{"href":"\/dogs\/1"}},"id":"1","name":"tiber","color":"black"},{"_links":{"self":{"href":"\/dogs\/2"}},"id":"2","name":"sally","color":"white"},{"_links":{"self":{"href":"\/dogs\/3"}},"id":"3","name":"fido","color":"gray"}]}}

Generating XML output

<?phpecho$parent->getXML()->asXML();

Result:

<?xml version="1.0"?>
<resourcehref="/dogs">
<linkhref="/dogs?q={text}"rel="search" />
<resourcehref="/dogs/1"rel="dog">
<id>1</id>
<name>tiber</name>
<color>black</color>
</resource>
<resourcehref="/dogs/2"rel="dog">
<id>2</id>
<name>sally</name>
<color>white</color>
</resource>
<resourcehref="/dogs/3"rel="dog">
<id>3</id>
<name>fido</name>
<color>gray</color>
</resource>
</resource>

Bitdeli Badge

About

A PHP implementation of HAL http://stateless.co/hal_specification.html

Resources

Code of conduct

Contributing

Security policy

Stars

94 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages