Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Framework\DI;
|
||||
|
||||
/**
|
||||
@@ -8,43 +10,62 @@ namespace App\Framework\DI;
|
||||
final class InstanceRegistry
|
||||
{
|
||||
private array $singletons = [];
|
||||
|
||||
private array $instances = [];
|
||||
|
||||
/**
|
||||
* @template T of object
|
||||
* @param class-string<T> $class
|
||||
* @return T|null
|
||||
*/
|
||||
public function getSingleton(string $class): ?object
|
||||
{
|
||||
return $this->singletons[$class] ?? null;
|
||||
}
|
||||
|
||||
/** @param class-string $class */
|
||||
public function hasSingleton(string $class): bool
|
||||
{
|
||||
return isset($this->singletons[$class]) && $this->singletons[$class] !== null;
|
||||
}
|
||||
|
||||
/** @param class-string $class */
|
||||
public function setSingleton(string $class, object $instance): void
|
||||
{
|
||||
$this->singletons[$class] = $instance;
|
||||
}
|
||||
|
||||
/** @param class-string $class */
|
||||
public function markAsSingleton(string $class): void
|
||||
{
|
||||
$this->singletons[$class] = null;
|
||||
}
|
||||
|
||||
/** @param class-string $class */
|
||||
public function isMarkedAsSingleton(string $class): bool
|
||||
{
|
||||
return array_key_exists($class, $this->singletons);
|
||||
}
|
||||
|
||||
/** @param class-string $class */
|
||||
public function getInstance(string $class): ?object
|
||||
{
|
||||
return $this->instances[$class] ?? null;
|
||||
}
|
||||
|
||||
/** @param class-string $class */
|
||||
public function hasInstance(string $class): bool
|
||||
{
|
||||
return isset($this->instances[$class]);
|
||||
}
|
||||
|
||||
/** @param class-string $class */
|
||||
public function setInstance(string $class, object $instance): void
|
||||
{
|
||||
$this->instances[$class] = $instance;
|
||||
}
|
||||
|
||||
/** @param class-string $class */
|
||||
public function forget(string $class): void
|
||||
{
|
||||
unset($this->instances[$class], $this->singletons[$class]);
|
||||
@@ -63,4 +84,9 @@ final class InstanceRegistry
|
||||
array_keys($this->instances)
|
||||
);
|
||||
}
|
||||
|
||||
public function getSingletons(): array
|
||||
{
|
||||
return array_keys($this->singletons);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user