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 four 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 3SymfonyLaravelYii2Frontend Panel
DatabaseDatabase
CacheCache
MailerMailer
QueueQueue
RedisRedis
ElasticsearchElasticsearch
ViewWebView
TemplatesTemplates
Code CoverageCoverage
Asset BundlesAsset Bundles
MiddlewareMiddleware
MessengerMessenger

Collector Totals by Adapter

AdapterUniversalAdditionalTotal
Yii 320828
Symfony20929
Yii2201030
Laravel20727

Proxy / Interception Mechanisms

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

InterfaceYii 3SymfonyLaravelYii2
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 Target
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('*')
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 ClientInterface
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 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 hook
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 UrlRuleInterface
ValidatorValidatorInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Validator\ValidatorInterfaceProxyDecorator proxy for Validator Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements ValidatorInterface
QueueQueueProviderInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Queue\QueueProviderInterfaceProxyDecorator proxy for Queue Provider Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements QueueProviderInterfaceEvent listener
View/TemplatesTwig profiler extensionView::EVENT_AFTER_RENDER
CacheDecorated CacheAdapterEvent listener
MessengerMessenger middleware
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 I18N

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
Middleware debugging
Message bus debugging
Asset bundle 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.