fix: resolve RedisCache array offset error and improve discovery diagnostics

- Fix RedisCache driver to handle MGET failures gracefully with fallback
- Add comprehensive discovery context comparison debug tools
- Identify root cause: WEB context discovery missing 166 items vs CLI
- WEB context missing RequestFactory class entirely (52 vs 69 commands)
- Improved exception handling with detailed binding diagnostics
This commit is contained in:
2025-09-12 20:05:18 +02:00
parent 8040d3e7a5
commit e30753ba0e
46990 changed files with 10789682 additions and 89639 deletions

View File

@@ -19,13 +19,10 @@ final readonly class FilePath
'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9',
];
private string $normalized;
private string $directory;
private string $filename;
private string $extension;
public readonly string $normalized;
public readonly string $directory;
public readonly string $filename;
public readonly string $extension;
public function __construct(string $path)
{

View File

@@ -119,12 +119,17 @@ final class FilesystemManager
/**
* JSON-Operationen
*
* @param array<string, mixed> $data
*/
public function putJson(string $path, array $data, string $storage = ''): void
{
$this->putSerialized($path, $data, $this->getSerializer('json'), $storage);
}
/**
* @return array<string, mixed>
*/
public function getJson(string $path, string $storage = ''): array
{
return $this->getSerialized($path, $this->getSerializer('json'), $storage);
@@ -132,12 +137,17 @@ final class FilesystemManager
/**
* CSV-Operationen (wenn CSV-Serializer registriert ist)
*
* @param array<int, array<string, mixed>> $data
*/
public function putCsv(string $path, array $data, string $storage = ''): void
{
$this->putSerialized($path, $data, $this->getSerializer('csv'), $storage);
}
/**
* @return array<int, array<string, mixed>>
*/
public function getCsv(string $path, string $storage = ''): array
{
return $this->getSerialized($path, $this->getSerializer('csv'), $storage);
@@ -193,9 +203,12 @@ final class FilesystemManager
/**
* Storage-Statistiken
*
* @return array<string, array<string, mixed>>
*/
public function getStorageInfo(): array
{
/** @var array<string, array<string, mixed>> */
$info = [];
foreach ($this->storages as $name => $storage) {
@@ -210,9 +223,12 @@ final class FilesystemManager
/**
* Serializer-Statistiken
*
* @return array<string, array<string, string>>
*/
public function getSerializerInfo(): array
{
/** @var array<string, array<string, string>> */
$info = [];
foreach ($this->serializers as $name => $serializer) {
@@ -228,10 +244,13 @@ final class FilesystemManager
/**
* Factory-Methode für Standard-Setup
*
* @param array<string, mixed> $config
*/
public static function create(array $config = []): self
{
$defaultStorage = 'default';
/** @var array<string, Storage> */
$namedStorages = [];
$manager = new self($defaultStorage, $namedStorages);