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:
2025-10-27 09:31:28 +01:00
parent 799f74f00a
commit c8b47e647d
81 changed files with 6988 additions and 601 deletions

View File

@@ -74,7 +74,7 @@ final readonly class MLModelsController
)]
public function listModels(HttpRequest $request): JsonResult
{
$typeFilter = $request->queryParameters['type'] ?? null;
$typeFilter = $request->query->get('type');
// Get all model names
$modelNames = $this->registry->getAllModelNames();
@@ -161,7 +161,7 @@ final readonly class MLModelsController
)]
public function getModel(string $modelName, HttpRequest $request): JsonResult
{
$versionString = $request->queryParameters['version'] ?? null;
$versionString = $request->query->get('version');
try {
if ($versionString !== null) {
@@ -253,8 +253,8 @@ final readonly class MLModelsController
)]
public function getMetrics(string $modelName, HttpRequest $request): JsonResult
{
$versionString = $request->queryParameters['version'] ?? null;
$timeWindowHours = (int) ($request->queryParameters['timeWindow'] ?? 1);
$versionString = $request->query->get('version');
$timeWindowHours = $request->query->getInt('timeWindow', 1);
try {
if ($versionString !== null) {
@@ -439,7 +439,7 @@ final readonly class MLModelsController
)]
public function unregisterModel(string $modelName, HttpRequest $request): JsonResult
{
$versionString = $request->queryParameters['version'] ?? null;
$versionString = $request->query->get('version');
if ($versionString === null) {
return new JsonResult([