uri-template / uri-template
RFC 6570 URI Template processor
Installs: 54 677
Dependents: 1
Suggesters: 0
Security: 0
Stars: 7
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2025-05-10 17:13:48 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.