phuture / continuum
A forward-compatibility layer bringing tomorrow’s PHP features to today’s runtimes.
Requires
- php: ^8.0
- league/uri-interfaces: ^2.3.0 || ^7.8.0
- nette/robot-loader: ^v4.0.0 || ^v4.1.0
- phpseclib/bcmath_compat: ~v2.0.0
- psr/http-message: ^1.1.0 || ^2.0.0
- rowbot/idna: ^0.1.0 || ^0.3.0
- rowbot/url: ^3.1.0 || ^4.1.0
- symfony/polyfill-apcu: ~v1.34.0
- symfony/polyfill-ctype: ~v1.34.0
- symfony/polyfill-iconv: ~v1.34.0
- symfony/polyfill-intl-grapheme: ~v1.34.0
- symfony/polyfill-intl-icu: ~v1.34.0
- symfony/polyfill-intl-idn: ~v1.34.0
- symfony/polyfill-intl-messageformatter: ~v1.34.0
- symfony/polyfill-intl-normalizer: ~v1.34.0
- symfony/polyfill-mbstring: ~v1.34.0
- symfony/polyfill-php81: ~v1.34.0
- symfony/polyfill-php82: ~v1.34.0
- symfony/polyfill-php83: ~v1.34.0
- symfony/polyfill-php84: ~v1.34.0
- symfony/polyfill-php85: ~v1.34.0
- symfony/polyfill-uuid: ~v1.34.0
- zendtech/polyfill-mb-ereg: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.92.0
- nette/tester: ^2.5
- phpstan/phpstan: ^2.0
- squizlabs/php_codesniffer: ^3.7
Provides
- ext-apcu: *
- ext-bcmath: *
- ext-ctype: *
- ext-iconv: *
- ext-intl: *
- ext-mbstring: *
- ext-uuid: *
Replaces
- league/uri-polyfill: ^7.8.0
This package is auto-updated.
Last update: 2026-05-02 19:48:14 UTC
README
Phuture Continuum
A forward-compatibility layer bringing tomorrow’s PHP features to today’s runtimes.
Introduction
Continuum bridges the gap between PHP versions by extending Symfony Polyfill with additional methods, constants, and stubs. Built on Symfony's solid foundation, Continuum provides extra polyfills and graceful fallbacks—enabling you to write forward-compatible code that works consistently across different PHP runtimes.
Features
This package polyfills most common PHP functions from PHP 8.1 to 8.5, designed to be used on PHP 8.0 or later.
| Polyfill | Level | Type |
|---|---|---|
| ▶️ PHP 8.1+ | ||
array_is_list() |
✅ Full | Function |
enum_exists() |
✅ Full | Function |
fsync() |
❇️ Partial | Function |
fdatasync() |
❇️ Partial | Function |
IMAGETYPE_AVIF |
✅ Full | Constant |
IMG_AVIF |
✅ Full | Constant |
IMG_WEBP_LOSSLESS |
✅ Full | Constant |
MYSQLI_REFRESH_REPLICA |
✅ Full | Constant |
T_READONLY |
✅ Full | Constant |
CURLStringFile |
✅ Full | Class |
ReturnTypeWillChange |
✅ Full | Attribute |
| ▶️ PHP 8.2+ | ||
ini_parse_quantity() |
✅ Full | Function |
odbc_connection_string_is_quoted() |
✅ Full | Function |
odbc_connection_string_should_quote() |
✅ Full | Function |
odbc_connection_string_quote() |
✅ Full | Function |
curl_upkeep() |
❇️ Partial | Function |
memory_reset_peak_usage() |
⚠️ No-op | Function |
mysqli_execute_query() |
✅ Full | Function |
openssl_cipher_key_length() |
✅ Full | Function |
imap_is_open() |
✅ Full | Function |
AllowDynamicProperties |
✅ Full | Attribute |
SensitiveParameter |
✅ Full | Attribute |
SensitiveParameterValue |
✅ Full | Class |
Random\Engine |
✅ Full | Interface |
Random\CryptoSafeEngine |
✅ Full | Interface |
Random\Engine\Secure |
✅ Full | Class |
| ▶️ PHP 8.3+ | ||
json_validate() |
✅ Full | Function |
mb_str_pad() |
✅ Full | Function |
str_increment() |
✅ Full | Function |
str_decrement() |
✅ Full | Function |
stream_context_set_options() |
✅ Full | Function |
posix_eaccess() |
✅ Full | Function |
POSIX_PC_* (10 constants) |
✅ Full | Constant |
POSIX_*_OK (4 constants) |
✅ Full | Constant |
Override |
✅ Full | Attribute |
DateError / DateException (and related) |
✅ Full | Class |
SQLite3Exception |
✅ Full | Class |
ldap_exop_sync() |
✅ Full | Function |
ldap_connect_wallet() |
✅ Full | Function |
| ▶️ PHP 8.4+ | ||
array_find() |
✅ Full | Function |
array_find_key() |
✅ Full | Function |
array_any() |
✅ Full | Function |
array_all() |
✅ Full | Function |
fpow() |
✅ Full | Function |
grapheme_str_split() |
✅ Full | Function |
PHP_SBINDIR |
✅ Full | Constant |
CURL_HTTP_VERSION_3 |
✅ Full | Constant |
CURL_HTTP_VERSION_3ONLY |
✅ Full | Constant |
Deprecated |
✅ Full | Attribute |
RoundingMode |
✅ Full | Enum |
ReflectionConstant |
✅ Full | Class |
PDO driver subclasses (Dblib, Firebird, etc.) |
✅ Full | Class |
| ▶️ PHP 8.5+ | ||
array_first() |
✅ Full | Function |
array_last() |
✅ Full | Function |
get_error_handler() |
✅ Full | Function |
get_exception_handler() |
✅ Full | Function |
locale_is_right_to_left() |
✅ Full | Function |
grapheme_levenshtein() |
✅ Full | Function |
PHP_BUILD_DATE |
✅ Full | Constant |
PHP_BUILD_PROVIDER |
✅ Full | Constant |
NoDiscard |
✅ Full | Attribute |
DelayedTargetValidation |
✅ Full | Attribute |
Uri\Rfc3986\Uri |
✅ Full | Class |
Uri\WhatWg\Url |
✅ Full | Class |
Uri\WhatWg\InvalidUrlException |
✅ Full | Class |
Uri\WhatWg\UrlValidationError |
✅ Full | Class |
Uri\WhatWg\UrlValidationErrorType |
✅ Full | Class |
Uri\UriException |
✅ Full | Class |
Uri\InvalidUriException |
✅ Full | Class |
Uri\UriComparisonMode |
✅ Full | Class |
Filter\FilterException |
✅ Full | Class |
Filter\FilterFailedException |
✅ Full | Class |
This package also provides polyfills for some PHP extensions, allowing better portability across different PHP runtimes.
| Extension | Level |
|---|---|
ext-mbstring |
⚠️ Partial |
ext-iconv |
✅ Full |
ext-apcu |
⚠️ Partial |
ext-ctype |
✅ Full |
ext-uuid |
✅ Full |
ext-bcmath |
✅ Full |
ext-intl |
⚠️ Partial |
Installation
composer require phuture/continuum
Contributing
Thank you for considering contributing to this project! You can read the Contribution Guide and our Developer Workflow Guide.
Code of Conduct
This project follows a Code of Conduct that all community members and contributors are expected to adhere to our Contributor Code of Conduct.
License
This project is open-source and available under the MIT License.