Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

UriTemplate

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.

About

RFC 6570 URI Template processor

Resources

License

Packages

No packages published

Languages