This commit is contained in:
2025-05-12 14:25:25 +02:00
parent ab2db755ef
commit 9e378ca2b7
2719 changed files with 46505 additions and 60181 deletions

View File

@@ -21,7 +21,7 @@ use Symfony\Component\HttpFoundation\Response;
*/
class AjaxDataCollector extends DataCollector
{
public function collect(Request $request, Response $response, \Throwable $exception = null): void
public function collect(Request $request, Response $response, ?\Throwable $exception = null): void
{
// all collecting is done client side
}

View File

@@ -30,7 +30,7 @@ class ConfigDataCollector extends DataCollector implements LateDataCollectorInte
/**
* Sets the Kernel associated with this Request.
*/
public function setKernel(KernelInterface $kernel = null): void
public function setKernel(?KernelInterface $kernel = null): void
{
if (1 > \func_num_args()) {
trigger_deprecation('symfony/http-kernel', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__);
@@ -39,7 +39,7 @@ class ConfigDataCollector extends DataCollector implements LateDataCollectorInte
$this->kernel = $kernel;
}
public function collect(Request $request, Response $response, \Throwable $exception = null): void
public function collect(Request $request, Response $response, ?\Throwable $exception = null): void
{
$eom = \DateTimeImmutable::createFromFormat('d/m/Y', '01/'.Kernel::END_OF_MAINTENANCE);
$eol = \DateTimeImmutable::createFromFormat('d/m/Y', '01/'.Kernel::END_OF_LIFE);

View File

@@ -63,9 +63,21 @@ abstract class DataCollector implements DataCollectorInterface
$casters = [
'*' => function ($v, array $a, Stub $s, $isNested) {
if (!$v instanceof Stub) {
$b = $a;
foreach ($a as $k => $v) {
if (\is_object($v) && !$v instanceof \DateTimeInterface && !$v instanceof Stub) {
$a[$k] = new CutStub($v);
if (!\is_object($v) || $v instanceof \DateTimeInterface || $v instanceof Stub) {
continue;
}
try {
$a[$k] = $s = new CutStub($v);
if ($b[$k] === $s) {
// we've hit a non-typed reference
$a[$k] = $v;
}
} catch (\TypeError $e) {
// we've hit a typed reference
}
}
}

View File

@@ -27,7 +27,7 @@ interface DataCollectorInterface extends ResetInterface
*
* @return void
*/
public function collect(Request $request, Response $response, \Throwable $exception = null);
public function collect(Request $request, Response $response, ?\Throwable $exception = null);
/**
* Returns the name of the collector.

View File

@@ -44,7 +44,7 @@ class DumpDataCollector extends DataCollector implements DataDumperInterface
private mixed $sourceContextProvider;
private bool $webMode;
public function __construct(Stopwatch $stopwatch = null, string|FileLinkFormatter $fileLinkFormat = null, string $charset = null, RequestStack $requestStack = null, DataDumperInterface|Connection $dumper = null, bool $webMode = null)
public function __construct(?Stopwatch $stopwatch = null, string|FileLinkFormatter|null $fileLinkFormat = null, ?string $charset = null, ?RequestStack $requestStack = null, DataDumperInterface|Connection|null $dumper = null, ?bool $webMode = null)
{
$fileLinkFormat = $fileLinkFormat ?: \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
$this->stopwatch = $stopwatch;
@@ -100,7 +100,7 @@ class DumpDataCollector extends DataCollector implements DataDumperInterface
return null;
}
public function collect(Request $request, Response $response, \Throwable $exception = null): void
public function collect(Request $request, Response $response, ?\Throwable $exception = null): void
{
if (!$this->dataCount) {
$this->data = [];

View File

@@ -36,7 +36,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter
* @param iterable<EventDispatcherInterface>|EventDispatcherInterface|null $dispatchers
*/
public function __construct(
iterable|EventDispatcherInterface $dispatchers = null,
iterable|EventDispatcherInterface|null $dispatchers = null,
private ?RequestStack $requestStack = null,
private string $defaultDispatcher = 'event_dispatcher',
) {
@@ -46,7 +46,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter
$this->dispatchers = $dispatchers ?? [];
}
public function collect(Request $request, Response $response, \Throwable $exception = null): void
public function collect(Request $request, Response $response, ?\Throwable $exception = null): void
{
$this->currentRequest = $this->requestStack && $this->requestStack->getMainRequest() !== $request ? $request : null;
$this->data = [];
@@ -86,7 +86,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter
/**
* @see TraceableEventDispatcher
*/
public function setCalledListeners(array $listeners, string $dispatcher = null): void
public function setCalledListeners(array $listeners, ?string $dispatcher = null): void
{
$this->data[$dispatcher ?? $this->defaultDispatcher]['called_listeners'] = $listeners;
}
@@ -94,7 +94,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter
/**
* @see TraceableEventDispatcher
*/
public function getCalledListeners(string $dispatcher = null): array|Data
public function getCalledListeners(?string $dispatcher = null): array|Data
{
return $this->data[$dispatcher ?? $this->defaultDispatcher]['called_listeners'] ?? [];
}
@@ -102,7 +102,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter
/**
* @see TraceableEventDispatcher
*/
public function setNotCalledListeners(array $listeners, string $dispatcher = null): void
public function setNotCalledListeners(array $listeners, ?string $dispatcher = null): void
{
$this->data[$dispatcher ?? $this->defaultDispatcher]['not_called_listeners'] = $listeners;
}
@@ -110,7 +110,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter
/**
* @see TraceableEventDispatcher
*/
public function getNotCalledListeners(string $dispatcher = null): array|Data
public function getNotCalledListeners(?string $dispatcher = null): array|Data
{
return $this->data[$dispatcher ?? $this->defaultDispatcher]['not_called_listeners'] ?? [];
}
@@ -120,7 +120,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter
*
* @see TraceableEventDispatcher
*/
public function setOrphanedEvents(array $events, string $dispatcher = null): void
public function setOrphanedEvents(array $events, ?string $dispatcher = null): void
{
$this->data[$dispatcher ?? $this->defaultDispatcher]['orphaned_events'] = $events;
}
@@ -128,7 +128,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter
/**
* @see TraceableEventDispatcher
*/
public function getOrphanedEvents(string $dispatcher = null): array|Data
public function getOrphanedEvents(?string $dispatcher = null): array|Data
{
return $this->data[$dispatcher ?? $this->defaultDispatcher]['orphaned_events'] ?? [];
}

View File

@@ -22,7 +22,7 @@ use Symfony\Component\HttpFoundation\Response;
*/
class ExceptionDataCollector extends DataCollector
{
public function collect(Request $request, Response $response, \Throwable $exception = null): void
public function collect(Request $request, Response $response, ?\Throwable $exception = null): void
{
if (null !== $exception) {
$this->data = [

View File

@@ -32,14 +32,14 @@ class LoggerDataCollector extends DataCollector implements LateDataCollectorInte
private ?RequestStack $requestStack;
private ?array $processedLogs = null;
public function __construct(object $logger = null, string $containerPathPrefix = null, RequestStack $requestStack = null)
public function __construct(?object $logger = null, ?string $containerPathPrefix = null, ?RequestStack $requestStack = null)
{
$this->logger = DebugLoggerConfigurator::getDebugLogger($logger);
$this->containerPathPrefix = $containerPathPrefix;
$this->requestStack = $requestStack;
}
public function collect(Request $request, Response $response, \Throwable $exception = null): void
public function collect(Request $request, Response $response, ?\Throwable $exception = null): void
{
$this->currentRequest = $this->requestStack && $this->requestStack->getMainRequest() !== $request ? $request : null;
}
@@ -199,7 +199,7 @@ class LoggerDataCollector extends DataCollector implements LateDataCollectorInte
return $logs;
}
private function getContainerCompilerLogs(string $compilerLogsFilepath = null): array
private function getContainerCompilerLogs(?string $compilerLogsFilepath = null): array
{
if (!$compilerLogsFilepath || !is_file($compilerLogsFilepath)) {
return [];

View File

@@ -26,7 +26,7 @@ class MemoryDataCollector extends DataCollector implements LateDataCollectorInte
$this->reset();
}
public function collect(Request $request, Response $response, \Throwable $exception = null): void
public function collect(Request $request, Response $response, ?\Throwable $exception = null): void
{
$this->updateMemoryUsage();
}

View File

@@ -38,13 +38,13 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter
private array $sessionUsages = [];
private ?RequestStack $requestStack;
public function __construct(RequestStack $requestStack = null)
public function __construct(?RequestStack $requestStack = null)
{
$this->controllers = new \SplObjectStorage();
$this->requestStack = $requestStack;
}
public function collect(Request $request, Response $response, \Throwable $exception = null): void
public function collect(Request $request, Response $response, ?\Throwable $exception = null): void
{
// attributes are serialized and as they can be anything, they need to be converted to strings.
$attributes = [];
@@ -63,7 +63,7 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter
$sessionMetadata = [];
$sessionAttributes = [];
$flashes = [];
if ($request->hasSession()) {
if (!$request->attributes->getBoolean('_stateless') && $request->hasSession()) {
$session = $request->getSession();
if ($session->isStarted()) {
$sessionMetadata['Created'] = date(\DATE_RFC822, $session->getMetadataBag()->getCreated());
@@ -505,7 +505,7 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter
'line' => $r->getStartLine(),
];
if (str_contains($r->name, '{closure}')) {
if (str_contains($r->name, '{closure')) {
return $controller;
}
$controller['method'] = $r->name;

View File

@@ -34,7 +34,7 @@ class RouterDataCollector extends DataCollector
/**
* @final
*/
public function collect(Request $request, Response $response, \Throwable $exception = null): void
public function collect(Request $request, Response $response, ?\Throwable $exception = null): void
{
if ($response instanceof RedirectResponse) {
$this->data['redirect'] = true;

View File

@@ -27,14 +27,14 @@ class TimeDataCollector extends DataCollector implements LateDataCollectorInterf
private ?KernelInterface $kernel;
private ?Stopwatch $stopwatch;
public function __construct(KernelInterface $kernel = null, Stopwatch $stopwatch = null)
public function __construct(?KernelInterface $kernel = null, ?Stopwatch $stopwatch = null)
{
$this->kernel = $kernel;
$this->stopwatch = $stopwatch;
$this->data = ['events' => [], 'stopwatch_installed' => false, 'start_time' => 0];
}
public function collect(Request $request, Response $response, \Throwable $exception = null): void
public function collect(Request $request, Response $response, ?\Throwable $exception = null): void
{
if (null !== $this->kernel) {
$startTime = $this->kernel->getStartTime();