feat(Docker): Upgrade to PHP 8.5.0RC3 with native ext-uri support
BREAKING CHANGE: Requires PHP 8.5.0RC3 Changes: - Update Docker base image from php:8.4-fpm to php:8.5.0RC3-fpm - Enable ext-uri for native WHATWG URL parsing support - Update composer.json PHP requirement from ^8.4 to ^8.5 - Add ext-uri as required extension in composer.json - Move URL classes from Url.php85/ to Url/ directory (now compatible) - Remove temporary PHP 8.4 compatibility workarounds Benefits: - Native URL parsing with Uri\WhatWg\Url class - Better performance for URL operations - Future-proof with latest PHP features - Eliminates PHP version compatibility issues
This commit is contained in:
@@ -12,6 +12,7 @@ enum HashAlgorithm: string
|
||||
case SHA512 = 'sha512';
|
||||
case SHA3_256 = 'sha3-256';
|
||||
case SHA3_512 = 'sha3-512';
|
||||
case XXHASH3 = 'xxh3';
|
||||
case XXHASH64 = 'xxh64';
|
||||
|
||||
public function isSecure(): bool
|
||||
@@ -29,6 +30,7 @@ enum HashAlgorithm: string
|
||||
self::SHA1 => 40,
|
||||
self::SHA256, self::SHA3_256 => 64,
|
||||
self::SHA512, self::SHA3_512 => 128,
|
||||
self::XXHASH3 => 16,
|
||||
self::XXHASH64 => 16,
|
||||
};
|
||||
}
|
||||
@@ -45,6 +47,17 @@ enum HashAlgorithm: string
|
||||
|
||||
public static function fast(): self
|
||||
{
|
||||
return extension_loaded('xxhash') ? self::XXHASH64 : self::SHA256;
|
||||
// Prefer xxh3 if available (faster than xxh64)
|
||||
if (in_array('xxh3', hash_algos(), true)) {
|
||||
return self::XXHASH3;
|
||||
}
|
||||
|
||||
// Fallback to xxh64 if available
|
||||
if (in_array('xxh64', hash_algos(), true)) {
|
||||
return self::XXHASH64;
|
||||
}
|
||||
|
||||
// Default to SHA256 if no xxhash algorithms available
|
||||
return self::SHA256;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user