Skip to content

Feature Matrix

ADP supports multiple PHP frameworks through adapters. Each adapter wires framework-specific hooks into the shared Kernel collectors. This page documents what is available in each adapter.

Collector Support by Adapter

All collectors live in the Kernel and are framework-independent. Adapters register and wire them via framework-specific event hooks, proxies, or decorators.

Universal Collectors

These collectors are registered in all five full adapters:

CollectorFrontend PanelDescription
TimelineCollectorAppDevPanel\Kernel\Collector\TimelineCollectorCollects Timeline data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceTimelinePerformance timeline events
LogCollectorAppDevPanel\Kernel\Collector\LogCollectorCollects Log data during application lifecycle.Kernel · class · implements SummaryCollectorInterfaceLogsPSR-3 log messages
EventCollectorAppDevPanel\Kernel\Collector\EventCollectorCollects Event data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceEventsPSR-14 dispatched events
ExceptionCollectorAppDevPanel\Kernel\Collector\ExceptionCollectorCollects Exception data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceExceptionsUncaught exceptions with stack traces
DeprecationCollectorAppDevPanel\Kernel\Collector\DeprecationCollectorCollects Deprecation data during application lifecycle.final Kernel · class · implements SummaryCollectorInterface(in Logs)PHP deprecation warnings
ServiceCollectorAppDevPanel\Kernel\Collector\ServiceCollectorCollects Service data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceServicesDI container service resolutions
HttpClientCollectorAppDevPanel\Kernel\Collector\HttpClientCollectorCollects Http Client data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceHTTP ClientPSR-18 outgoing HTTP requests
VarDumperCollectorAppDevPanel\Kernel\Collector\VarDumperCollectorCollects Var Dumper data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceVar Dumperdump() / dd() calls
EnvironmentCollectorAppDevPanel\Kernel\Collector\EnvironmentCollectorCollects runtime environment information: PHP version, extensions, SAPI, OS, working directory, server parameters, and environment variables.final Kernel · class · implements SummaryCollectorInterfaceEnvironmentPHP and OS environment info
FilesystemStreamCollectorAppDevPanel\Kernel\Collector\Stream\FilesystemStreamCollectorCollects Filesystem Stream data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceFilesystemFile system stream operations
HttpStreamCollectorAppDevPanel\Kernel\Collector\Stream\HttpStreamCollectorCollects Http Stream data during application lifecycle.final Kernel · class · implements SummaryCollectorInterface(hidden)Raw HTTP stream data (sub-view of HTTP Client)
RequestCollectorAppDevPanel\Kernel\Collector\Web\RequestCollectorCollects Request data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceRequestIncoming HTTP request/response (web entries)
CommandCollectorAppDevPanel\Kernel\Collector\Console\CommandCollectorCollects Command data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceRequestConsole command details (console entries)
WebAppInfoCollectorAppDevPanel\Kernel\Collector\Web\WebAppInfoCollectorCollects Web App Info data during application lifecycle.final Kernel · class · implements SummaryCollectorInterface(meta)Web app summary for entry list
ConsoleAppInfoCollectorAppDevPanel\Kernel\Collector\Console\ConsoleAppInfoCollectorCollects Console App Info data during application lifecycle.final Kernel · class · implements SummaryCollectorInterface(meta)Console app summary for entry list
RouterCollectorAppDevPanel\Kernel\Collector\RouterCollectorCaptures HTTP routing data: matched route, match timing, route tree.final Kernel · class · implements SummaryCollectorInterfaceRouterHTTP route matching data
ValidatorCollectorAppDevPanel\Kernel\Collector\ValidatorCollectorCaptures validation operations with results.final Kernel · class · implements SummaryCollectorInterfaceValidatorValidation operations and results
TranslatorCollectorAppDevPanel\Kernel\Collector\TranslatorCollectorCaptures translation lookups during request execution.final Kernel · class · implements SummaryCollectorInterfaceTranslatorTranslation lookups, missing translations
AuthorizationCollectorAppDevPanel\Kernel\Collector\AuthorizationCollectorCaptures authentication and authorization data.final Kernel · class · implements SummaryCollectorInterfaceSecurityAuthentication and authorization data
OpenTelemetryCollectorAppDevPanel\Kernel\Collector\OpenTelemetryCollectorCollects Open Telemetry data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceOpenTelemetryOpenTelemetry spans and traces

Collector Availability Matrix

CollectorYii 3SymfonyLaravelYii2SpiralFrontend Panel
DatabaseDatabase
CacheCache
MailerMailer
QueueQueue
RedisRedis
ElasticsearchElasticsearch
ViewWebView
TemplatesTemplates
Code CoverageCoverage
Asset BundlesAsset Bundles
MiddlewareMiddleware
MessengerMessenger

Spiral auto-feed

The Spiral adapter wires each collector via a Container/*ProxyInjector (see Container Injectors) — the cache, mailer, queue, translator, and template collectors are populated automatically whenever the matching spiral/* package is installed in the user app. No manual collect() calls are required.

Collector Totals by Adapter

AdapterUniversalAdditionalTotal
Yii 3201030
Symfony201030
Yii2201030
Laravel201030
Spiral20424

Proxy / Interception Mechanisms

Each adapter uses different strategies to intercept framework internals and feed data into collectors:

InterfaceYii 3SymfonyLaravelYii2Spiral
PSR-3 LoggerLoggerInterfaceProxyAppDevPanel\Kernel\Collector\LoggerInterfaceProxyDecorator proxy for Logger Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements LoggerInterfaceLoggerInterfaceProxyAppDevPanel\Kernel\Collector\LoggerInterfaceProxyDecorator proxy for Logger Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements LoggerInterfaceLoggerInterfaceProxyAppDevPanel\Kernel\Collector\LoggerInterfaceProxyDecorator proxy for Logger Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements LoggerInterfaceDebugLogTargetAppDevPanel\Adapter\Yii2\Collector\DebugLogTargetReal-time log target that feeds Yii 2 log messages to ADP's LogCollector.final Adapter/Yii2 · class · extends TargetLoggerProxyInjectorAppDevPanel\Adapter\Spiral\Container\LoggerProxyInjector
PSR-14 EventsEventDispatcherInterfaceProxyAppDevPanel\Kernel\Collector\EventDispatcherInterfaceProxyDecorator proxy for Event Dispatcher Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements EventDispatcherInterfaceSymfonyEventDispatcherProxyAppDevPanel\Adapter\Symfony\Proxy\SymfonyEventDispatcherProxyWraps Symfony's event dispatcher to intercept dispatched events.final Adapter/Symfony · class · implements EventDispatcherInterfaceLaravelEventDispatcherProxyAppDevPanel\Adapter\Laravel\Proxy\LaravelEventDispatcherProxyWraps Laravel's event dispatcher to intercept dispatched events.final Adapter/Laravel · class · implements DispatcherWildcard Event::on('*')EventDispatcherProxyInjectorAppDevPanel\Adapter\Spiral\Container\EventDispatcherProxyInjector
PSR-18 HTTP ClientHttpClientInterfaceProxyAppDevPanel\Kernel\Collector\HttpClientInterfaceProxyDecorator proxy for Http Client Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements ClientInterfaceHttpClientInterfaceProxyAppDevPanel\Kernel\Collector\HttpClientInterfaceProxyDecorator proxy for Http Client Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements ClientInterfaceHttpClientInterfaceProxyAppDevPanel\Kernel\Collector\HttpClientInterfaceProxyDecorator proxy for Http Client Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements ClientInterfaceHttpClientInterfaceProxyAppDevPanel\Kernel\Collector\HttpClientInterfaceProxyDecorator proxy for Http Client Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements ClientInterfaceHttpClientProxyInjectorAppDevPanel\Adapter\Spiral\Container\HttpClientProxyInjector
PSR-11 ContainerContainerInterfaceProxyAppDevPanel\Adapter\Yii3\Proxy\ContainerInterfaceProxyDecorator proxy for Container Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements ContainerInterfaceCompiler pass
VarDumperVarDumperHandlerInterfaceProxyAppDevPanel\Adapter\Yii3\Proxy\VarDumperHandlerInterfaceProxyDecorator proxy for Var Dumper Handler Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements HandlerInterfaceHandler hookHandler hookHandler hookHandler hook
DatabaseConnectionInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Db\ConnectionInterfaceProxyDecorator proxy for Connection Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements ConnectionInterfaceDBAL middlewareEvent listenerDbProfilingTargetAppDevPanel\Adapter\Yii2\Collector\DbProfilingTargetYii 2 profiling target that captures database query timing and feeds it to DbCollector.final Adapter/Yii2 · class · extends Target
MailerMailerInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Mailer\MailerInterfaceProxyDecorator proxy for Mailer Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements MailerInterfaceEvent listenerEvent listenerEvent hookMailerProxyInjectorAppDevPanel\Adapter\Spiral\Container\MailerProxyInjector
RouterUrlMatcherInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Router\UrlMatcherInterfaceProxyDecorator proxy for Url Matcher Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements UrlMatcherInterfaceRouterDataExtractorAppDevPanel\Adapter\Laravel\Collector\RouterDataExtractorExtracts route data from Laravel's router and feeds it to the Kernel RouterCollector.final Adapter/Laravel · classUrlRuleProxyAppDevPanel\Adapter\Yii2\Proxy\UrlRuleProxyWraps a Yii 2 URL rule to intercept successful route matching.final Adapter/Yii2 · class · implements UrlRuleInterfaceSpiralRouteCollectionAdapterAppDevPanel\Adapter\Spiral\Inspector\SpiralRouteCollectionAdapter + DebugRouteInterceptorAppDevPanel\Adapter\Spiral\Interceptor\DebugRouteInterceptor
ValidatorValidatorInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Validator\ValidatorInterfaceProxyDecorator proxy for Validator Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements ValidatorInterface
Queue (push)QueueProviderInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Queue\QueueProviderInterfaceProxyDecorator proxy for Queue Provider Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements QueueProviderInterfaceEvent listenerQueueProxyInjectorAppDevPanel\Adapter\Spiral\Container\QueueProxyInjector
Queue (consume)Event listenerDebugQueueInterceptorAppDevPanel\Adapter\Spiral\Interceptor\DebugQueueInterceptor
Console commandsKernel eventsKernel eventsConsole eventDebugConsoleInterceptorAppDevPanel\Adapter\Spiral\Interceptor\DebugConsoleInterceptor
View/TemplatesTwig profiler extensionTemplateCollectorCompilerEngineAppDevPanel\Adapter\Laravel\Collector\TemplateCollectorCompilerEngineView::EVENT_AFTER_RENDERViewsProxyInjectorAppDevPanel\Adapter\Spiral\Container\ViewsProxyInjector
CacheDecorated CacheAdapterEvent listenerCacheProxyInjectorAppDevPanel\Adapter\Spiral\Container\CacheProxyInjector
MessengerMessenger middleware
Asset BundlesAssetLoaderInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Asset\AssetLoaderInterfaceProxyAssetMapperSubscriberAppDevPanel\Adapter\Symfony\EventSubscriber\AssetMapperSubscriberViteAssetListenerAppDevPanel\Adapter\Laravel\EventListener\ViteAssetListenerView::EVENT_END_PAGE
OpenTelemetrySpanProcessorInterfaceProxyAppDevPanel\Kernel\Collector\SpanProcessorInterfaceProxyDecorates an OpenTelemetry SpanProcessorInterface to capture span data into the OpenTelemetryCollector without altering telemetry pipeline behaviour.final Kernel · class · implements SpanProcessorInterfaceSpanProcessorInterfaceProxyAppDevPanel\Kernel\Collector\SpanProcessorInterfaceProxyDecorates an OpenTelemetry SpanProcessorInterface to capture span data into the OpenTelemetryCollector without altering telemetry pipeline behaviour.final Kernel · class · implements SpanProcessorInterfaceSpanProcessorInterfaceProxyAppDevPanel\Kernel\Collector\SpanProcessorInterfaceProxyDecorates an OpenTelemetry SpanProcessorInterface to capture span data into the OpenTelemetryCollector without altering telemetry pipeline behaviour.final Kernel · class · implements SpanProcessorInterfaceSpanProcessorInterfaceProxyAppDevPanel\Kernel\Collector\SpanProcessorInterfaceProxyDecorates an OpenTelemetry SpanProcessorInterface to capture span data into the OpenTelemetryCollector without altering telemetry pipeline behaviour.final Kernel · class · implements SpanProcessorInterface
TranslatorTranslatorInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Translator\TranslatorInterfaceProxyDecorates Yiisoft TranslatorInterface to feed translation lookups to TranslatorCollector.final Adapter/Yii3 · class · implements TranslatorInterfaceSymfonyTranslatorProxyAppDevPanel\Adapter\Symfony\Proxy\SymfonyTranslatorProxyDecorates Symfony's TranslatorInterface to feed translation lookups to TranslatorCollector.final Adapter/Symfony · class · implements TranslatorInterfaceLaravelTranslatorProxyAppDevPanel\Adapter\Laravel\Proxy\LaravelTranslatorProxyDecorates Laravel's Translator to feed translation lookups to TranslatorCollector.final Adapter/Laravel · class · implements TranslatorI18NProxyAppDevPanel\Adapter\Yii2\Proxy\I18NProxyDecorates Yii 2's I18N component to feed translation lookups to TranslatorCollector.final Adapter/Yii2 · class · extends I18NTranslatorProxyInjectorAppDevPanel\Adapter\Spiral\Container\TranslatorProxyInjector

Inspector Features

Inspector provides live application introspection (not tied to debug entries). All API-based features are adapter-independent:

FeatureYii 3SymfonyLaravelYii2Cycle
Configuration
Database Schema
Routes
File Explorer
Git
Composer
Opcache
PHP Info
Commands
Container / DI
Cache
Translations

Feature Parity Gaps

Current differences between adapters:

FeatureYii 3SymfonyLaravelYii2
View/template debugging
Code coverage
Asset bundle debugging
Middleware debugging
Message bus debugging
Container proxy

TIP

Feature parity is actively improving. If you need a specific collector for your framework, contributions are welcome.

Released under the MIT License.