/packageurl-php

PHP implementation of the package url spec

Primary LanguagePHPMIT LicenseMIT

shield_gh-workflow-test shield_packagist-version shield_license


Package URL (purl) for PHP

A parser and builder based on the package url spec implemented for PHP.

License: MIT

Install

composer require package-url/packageurl-php

Usage

<?php

use PackageUrl\PackageUrl;

$purl = (new PackageUrl('maven', 'myartifact'))
    ->setNamespace('mygroup')
    ->setVersion('1.0.0 Final')
    ->setQualifiers(['mykey' => 'my value'])
    ->setChecksums(['md5:46d2ff0ce36bd553a394e8fa1fa846c7'])
    ->setSubpath('my/sub/path');

$purlString = $purl->toString();

// string(117) "pkg:maven/mygroup/myartifact@1.0.0%20Final?checksum=md5:46d2ff0ce36bd553a394e8fa1fa846c7&mykey=my%20value#my/sub/path"
var_dump($purlString);

// string(117) "pkg:maven/mygroup/myartifact@1.0.0%20Final?checksum=md5:46d2ff0ce36bd553a394e8fa1fa846c7&mykey=my%20value#my/sub/path"
var_dump((string) $purl);

$purl2 = PackageUrl::fromString($purlString);
// bool(true)
var_dump($purl == $purl2);

Contributing

Feel free to open pull requests.
See the contribution docs for details.