standards / urn
A simple library to work with Uniform Resource Names (URNs).
v2.0.0
2025-04-30 19:18 UTC
Requires
- php: *
This package is auto-updated.
Last update: 2025-04-30 19:24:55 UTC
README
A simple library to work with Uniform Resource Names (URNs) based on the RFC 8141.
Installation
You can install the package via Composer:
composer require standards/urn
Usage
use Standards\URN\NamespaceSpecificString; use Standards\URN\UniformResourceName; $urn = UniformResourceName::parse('urn:ietf:params:oauth:jwk-thumbprint:sha-256:NzbLsXh8...'); var_dump($urn->getNamespaceIdentifier()); // ietf var_dump($urn->getNamespaceSpecificString()); // params:oauth:jwk-thumbprint:sha-256:NzbLsXh8... $nss = NamespaceSpecificString::parse($urn->getNamespaceSpecificString()); var_dump($nss->getNamespace()); // params var_dump($nss->getSubNamespace()); // oauth var_dump($nss->getResource()); // jwk-thumbprint var_dump($nss->getType()); // sha-256 var_dump($nss->getValue()); // NzbLsXh8... $nss = NamespaceSpecificString::build( value: 'NzbLsXh8...' ); $nss = NamespaceSpecificString::build()->setValue('NzbLsXh8...'); $urn = UniformResourceName::build('ietf', $nss); var_dump($urn->toString()); // urn:ietf:params:oauth:jwk-thumbprint:sha-256:NzbLsXh8...
License
Nacosvel Contracts is made available under the MIT License (MIT). Please see License File for more information.