league / uri-polyfill
Polyfill backporting PHP 8.5+ native RFC3986/WHATWG URI features to lower PHP versions
Fund package maintenance!
nyamsprod
Requires
- php: ^8.1
- league/uri-interfaces: ^7.6
- rowbot/url: ^4.1.0
Suggests
- php-64bit: to improve IPV4 host parsing
- ext-intl: to handle IDN host with the best performance
- jeremykendall/php-domain-parser: to resolve Public Suffix and Top Level Domain
- league/uri-components: Needed to easily manipulate URI objects components
- symfony/polyfill-intl-idn: to handle IDN host via the Symfony polyfill if ext-intl is not present
- symfony/polyfill-php82: To use the SensitiveParameter polyfill in PHP8.1
This package is auto-updated.
Last update: 2025-09-24 20:35:52 UTC
README
$uri = new Uri\Rfc3986\Uri("HTTPS://ex%61mpLE.com:443/foo/../bar/./baz?#fragment"); $uri->toRawString(); // returns "HTTPS://ex%61mpLE.com:443/foo/../bar/./baz?#fragment" $uri->toString(); // returns "https://example.com:443/bar/baz?#fragment" $url = new Uri\WhatWg\Url("HTTPS://🐘.com:443/foo/../bar/./baz?#fragment"); echo $url->toAsciiString(); // returns "https://xn--go8h.com/bar/baz?#fragment" echo $url->toUnicodeString(); // returns "https://🐘.com/bar/baz?#fragment"
This package provides a polyfill for the new native PHP URI parsing features to be included in PHP8.5. The polyfill works for PHP versions greater or equal to PHP8.1
⚠️ this is a sub-split, for development, pull requests and issues, visit: https://github.com/thephpleague/uri-src
System Requirements
To use the package, you require:
- PHP >= 8.1 but the latest stable version of PHP is recommended
- league/uri-interfaces
- rowbot/url
Tip
If you are using PHP 8.1, you SHOULD install symfony/polyfill-php82
to use its SensitiveParameter
polyfill
Install
Install the package using Composer.
composer require leagye/uri-polyfill:^7.6
Documentation
The RFC introduces:
- the
Uri\Rfc3986\Uri
class, an RFC 3986 compliant URI parser - the
Uri\WhatWg\Url
class, an WHATWG compliant URL parser
Full documentation can be found on the Add RFC 3986 and WHATWG compliant URI parsing support RFC.
Contributing
Contributions are welcome and will be fully credited. Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email nyamsprod@gmail.com instead of using the issue tracker.
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
License
The MIT License (MIT). Please see LICENSE for more information.