uri-template/uri-template

RFC 6570 URI Template processor

v1.0.0 2015-02-07 01:12 UTC

This package is not auto-updated.

Last update: 2024-04-27 12:17:51 UTC


README

PHP RFC 6570 URI Template processor

Installation

If you use Composer, just run

composer require uri-template/uri-template

or add this to your composer.json

"uri-template/uri-template": "~1.0"

If you do not use composer, just copy the files into your project's lib folder.

Reqirements

UriTemplate requires PHP 5.3 or greater

Examples

<?php
use UriTemplate\Processor;
$url = new Processor('http://github.com{/project}', array(
    'project' => array('mcrumley', 'uritemplate')
));
echo $url->process();
// prints http://github.com/mcrumley/uritemplate

// or
$url = new Processor();
$url->setTemplate('http://github.com{/project}');
$url->setData(array('project' => array('mcrumley', 'uritemplate')));
echo $url->process();
// prints http://github.com/mcrumley/uritemplate

Static Class

There is also a static class that does processes templates without creating an object.

<?php
use UriTemplate\UriTemplate;
echo UriTemplate::expand('http://github.com{/project}', array(
    'project' => array('mcrumley', 'uritemplate')
));
// prints http://github.com/mcrumley/uritemplate

The static class has additional methods for getting information about the template

echo implode(', ', (UriTemplate::getVariables('http://{.url}{/project}')));
// prints url, project

$templateErrors = UriTemplate::getErrors('http://{.url:error}{=project}'));
echo implode(', ', $templateErrors);
// prints Malformed varspec: ".url:error", Malformed varspec: "=project"

Tests

Each version is tested against all samples available at https://github.com/uri-templates/uritemplate-test.

License

© Michael Crumley

MIT licensed. For the full copyright and license information, please view the LICENSE file distributed with the source code.