{"$schema":"https://yii2-framework.github.io/docs/reference/reference.schema.json","schemaVersion":1,"package":"debug","title":"Debug","repository":"https://github.com/yii2-extensions/debug","ref":"main","commit":"3316ae0db0e31491732452909885af3611aaf876","generatedAt":"2026-10-18","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/","types":{"yii\\debug\\ComponentResolver":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/componentresolver/","summary":"Normalizes Yii component configuration values into a resolvable type and its remaining properties.","methods":{"classAndProperties":{"signature":"public static function classAndProperties(array<array-key, mixed>|string $config, string|null $defaultClass = null): array{string|null, array<array-key, mixed>}","summary":"Splits a configuration value into a resolvable class or container identifier and its remaining properties.","params":[{"name":"$config","type":"array<array-key, mixed>|string","description":"Class/container ID or configuration array with a type key."},{"name":"$defaultClass","type":"string|null","default":"null","optional":true,"description":"Type assumed when a configuration array omits both type keys."}],"return":{"type":"array{string|null, array<array-key, mixed>}","description":"Resolvable type (or `null`) and configuration properties without the `class` and `__class` entries."},"static":true},"createMapped":{"signature":"public static function createMapped(mixed $config): object|null","summary":"Creates the object described by an action-map entry, validating the named class before instantiation.","params":[{"name":"$config","type":"mixed","description":"Action-map entry accepted by `Yii::createObject()`."}],"return":{"type":"object|null","description":"Instantiated object, or `null` when the entry is unresolvable or produces no object."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when object creation fails for a resolvable configuration."}],"static":true}}},"yii\\debug\\DebugAsset":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/debugasset/","summary":"Asset bundle for the debugger pages: the main CSS theme, the panel interactivity, the dark/light theme toggle, and the history-page cursor handling.","extends":"yii\\web\\AssetBundle","implements":["yii\\base\\Configurable"],"properties":{"css":{"default":"['dist/css/debug.min.css']","description":"Stylesheet of the debugger pages."},"js":{"default":"['dist/js/debug.min.js']","description":"Scripts driving panel interactivity, the theme toggle, and the history cursor."},"jsOptions":{"default":"['type' => 'module']","description":"Loads the bundle scripts as ES modules, keeping their top-level identifiers module-scoped."},"sourcePath":{"default":"\\yii\\debug\\Module::SOURCE_PATH","description":"Published source directory of the packaged debugger assets."}},"inherited":{"properties":{"basePath":"yii\\web\\AssetBundle","baseUrl":"yii\\web\\AssetBundle","cssOptions":"yii\\web\\AssetBundle","depends":"yii\\web\\AssetBundle","publishOptions":"yii\\web\\AssetBundle"},"methods":{"__call":"yii\\base\\BaseObject","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\BaseObject","__isset":"yii\\base\\BaseObject","__set":"yii\\base\\BaseObject","__unset":"yii\\base\\BaseObject","canGetProperty":"yii\\base\\BaseObject","canSetProperty":"yii\\base\\BaseObject","className":"yii\\base\\BaseObject","hasMethod":"yii\\base\\BaseObject","hasProperty":"yii\\base\\BaseObject","init":"yii\\web\\AssetBundle","publish":"yii\\web\\AssetBundle","register":"yii\\web\\AssetBundle","registerAssetFiles":"yii\\web\\AssetBundle"}}},"yii\\debug\\DebugResponseHeaders":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/debugresponseheaders/","summary":"Applies defense-in-depth headers to debugger responses without preventing the same-origin toolbar iframe.","methods":{"apply":{"signature":"public static function apply(yii\\web\\Response $response): void","summary":"Sets the hardening headers and rewrites every Content-Security-Policy value on the response.","params":[{"name":"$response","type":"yii\\web\\Response","description":"Debugger response to harden."}],"return":{"type":"void"},"static":true}}},"yii\\debug\\GridViewConfig":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/gridviewconfig/","summary":"Shared default configuration for GridView widgets rendered inside the debug panel UI.","methods":{"defaults":{"signature":"public static function defaults(): array{dataColumnClass: class-string<yii\\debug\\widgets\\DebugDataColumn>, tableOptions: array{class: string}, options: array{class: string}, layout: string, pager: array{options: array{class: string}, linkContainerOptions: array{class: string}, linkOptions: array{class: string}, disabledListItemSubTagOptions: array{tag: string, class: string}, activePageCssClass: string, disabledPageCssClass: string}}","summary":"Returns the default GridView options for the debug UI.","return":{"type":"array{dataColumnClass: class-string<yii\\debug\\widgets\\DebugDataColumn>, tableOptions: array{class: string}, options: array{class: string}, layout: string, pager: array{options: array{class: string}, linkContainerOptions: array{class: string}, linkOptions: array{class: string}, disabledListItemSubTagOptions: array{tag: string, class: string}, activePageCssClass: string, disabledPageCssClass: string}}","description":"GridView config array ready to splat into `GridView::widget([...])`."},"static":true},"pageSizeSelectorHtml":{"signature":"public static function pageSizeSelectorHtml(): string","summary":"Returns the inline page-size selector markup rendered inside the GridView footer.","return":{"type":"string","description":"HTML markup for the page-size selector."},"static":true},"paginationFromRequest":{"signature":"public static function paginationFromRequest(positive-int $default = 50): array<string, mixed>|false","summary":"Returns a pagination config keyed off the `per-page` query parameter.","params":[{"name":"$default","type":"positive-int","default":"50","optional":true,"description":"Page size used when no `per-page` param is supplied or the value is invalid."}],"return":{"type":"array<string, mixed>|false","description":"`false` when `'all'` was requested, otherwise a pagination config carrying `pageSize`, `pageSizeParam`, and `pageSizeLimit`."},"static":true},"rowClassFor":{"signature":"public static function rowClassFor(string|null $level): array<string, mixed>","summary":"Returns the row-options array carrying the `yii-debug-row-<variant>` CSS class for the given status level.","params":[{"name":"$level","type":"string|null","description":"Status keyword, or `null` to skip the class."}],"return":{"type":"array<string, mixed>","description":"Row-options array with the `class` key set, or `[]` for unknown/`null` levels."},"static":true},"sortParams":{"signature":"public static function sortParams(): array<array-key, mixed>","summary":"Returns the current request query parameters without the `page` cursor.","return":{"type":"array<array-key, mixed>","description":"Query parameters with `page` removed."},"static":true}}},"yii\\debug\\IpAllowlist":{"kind":"class","modifiers":["final","readonly"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/ipallowlist/","summary":"Matches a requesting IP against the debugger's allowed IP filters and host allowlist.","methods":{"__construct":{"signature":"public function __construct(list<string> $allowedIPs, list<string> $allowedHosts)","summary":"Retains the IP filters and hostnames used when checking access.","params":[{"name":"$allowedIPs","type":"list<string>","description":"Exact, wildcard, or CIDR IP filters."},{"name":"$allowedHosts","type":"list<string>","description":"Hostnames resolved to IPs at check time."}]},"matches":{"signature":"public function matches(string $ip): bool","summary":"Returns whether the IP matches any allowed IP filter or resolves from any allowed host.","params":[{"name":"$ip","type":"string","description":"Requesting IP address."}],"return":{"type":"bool","description":"`true` when the IP is allowed."}}}},"yii\\debug\\LogTarget":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/logtarget/","summary":"Per-request JSON snapshot collector consumed by the debug toolbar.","extends":"yii\\log\\Target","implements":["yii\\base\\Configurable"],"properties":{"module":{"type":"yii\\debug\\Module","description":"Debugger module owning this target.","promoted":true},"tag":{"type":"string","default":"''","description":"Unique tag identifying the current request."}},"methods":{"__construct":{"signature":"public function __construct(yii\\debug\\Module $module, array<string, mixed> $config = [])","summary":"Adopts the owning module and registers itself as the module's log target when none is wired yet, so collectors reading through `yii\\debug\\Module::$logTarget` see the messages this target accumulates.","params":[{"name":"$module","type":"yii\\debug\\Module","description":"Debugger module owning this target."},{"name":"$config","type":"array<string, mixed>","default":"[]","optional":true,"description":"Standard `yii\\base\\BaseObject` configuration."}]},"beginRequest":{"signature":"public function beginRequest(): void","summary":"Starts a fresh persistent-worker request with an isolated tag and message buffer.","return":{"type":"void"}},"collect":{"signature":"public function collect(array<int|string, yii\\debug\\LogMessage> $messages, bool $final): void","summary":"Accumulates the flushed log messages and writes the capture once the request ends.","params":[{"name":"$messages","type":"array<int|string, yii\\debug\\LogMessage>","description":"Messages flushed by the logger."},{"name":"$final","type":"bool","description":"Whether this is the final flush of the request."}],"return":{"type":"void"}},"collectSummary":{"signature":"protected function collectSummary(): PHPForge\\Debug\\Storage\\RequestSummary","summary":"Captures the canonical manifest summary for the current request.","return":{"type":"PHPForge\\Debug\\Storage\\RequestSummary","description":"Manifest entry describing the current request."},"visibility":"protected"},"export":{"signature":"public function export(): void","summary":"Captures every panel into a typed DTO, writes one JSON snapshot, and updates the JSON manifest.","return":{"type":"void"},"throws":[{"type":"yii\\base\\Exception","description":"when the debug data directory cannot be created."}]},"getExcessiveDbCallersCount":{"signature":"protected function getExcessiveDbCallersCount(): int","summary":"Counts the call sites flagged as issuing too many statements.","return":{"type":"int","description":"Number of call sites that issued at least the configured threshold of queries; `0` when the Database collector is not registered."},"visibility":"protected"},"getSqlTotalCount":{"signature":"protected function getSqlTotalCount(): int","summary":"Counts the statements executed during the request.","return":{"type":"int","description":"Number of queries executed during the request; `0` when the Database collector is not registered."},"visibility":"protected"},"loadManifest":{"signature":"public function loadManifest(): array<string, PHPForge\\Debug\\Storage\\RequestSummary>","summary":"Reads the manifest of retained captures.","return":{"type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>","description":"Manifest entries keyed by tag, newest first."}},"loadSnapshot":{"signature":"public function loadSnapshot(string $tag): PHPForge\\Debug\\Storage\\DebugSnapshot|null","summary":"Returns the immutable snapshot envelope for a captured request.","params":[{"name":"$tag","type":"string","description":"Captured request tag."}],"return":{"type":"PHPForge\\Debug\\Storage\\DebugSnapshot|null","description":"Snapshot envelope, or `null` when the tag is unavailable."}},"loadTagToPanels":{"signature":"public function loadTagToPanels(string $tag): PHPForge\\Debug\\Storage\\RequestSummary|null","summary":"Hydrates all registered panels for a tag and returns its typed request summary.","params":[{"name":"$tag","type":"string","description":"Capture to load."}],"return":{"type":"PHPForge\\Debug\\Storage\\RequestSummary|null","description":"Summary of the capture, or `null` when it cannot be read."}}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","categories":"yii\\log\\Target","enabled":"yii\\log\\Target","except":"yii\\log\\Target","exportInterval":"yii\\log\\Target","levels":"yii\\log\\Target","logVars":"yii\\log\\Target","maskVars":"yii\\log\\Target","messages":"yii\\log\\Target","microtime":"yii\\log\\Target","prefix":"yii\\log\\Target"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","filterMessages":"yii\\log\\Target","formatMessage":"yii\\log\\Target","formatMessageText":"yii\\log\\Target","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getContextMessage":"yii\\log\\Target","getEnabled":"yii\\log\\Target","getLevels":"yii\\log\\Target","getMessagePrefix":"yii\\log\\Target","getTime":"yii\\log\\Target","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","off":"yii\\base\\Component","on":"yii\\base\\Component","setEnabled":"yii\\log\\Target","setLevels":"yii\\log\\Target","trigger":"yii\\base\\Component"}}},"yii\\debug\\Module":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/module/","summary":"Bootstraps the debug toolbar and the full-page debugger over the active application.","extends":"yii\\base\\Module","implements":["yii\\base\\BootstrapInterface","yii\\base\\Configurable"],"properties":{"allowedHosts":{"type":"list<string>","default":"[]","description":"Hosts allowed to access this module. Each entry is resolved to an IP at runtime; useful for dynamic DNS."},"allowedIPs":{"type":"list<string>","default":"['127.0.0.1', '::1']","description":"IPs allowed to access this module. Entries may be exact, wildcard (`192.168.0.*`) or CIDR (`172.16.0.0/12`)."},"authManager":{"type":"array<string, mixed>|yii\\rbac\\BaseManager|string","default":"'authManager'","description":"RBAC access checker component id or fully configured manager."},"checkAccessCallback":{"type":"callable(yii\\base\\Action|null): bool|null","default":"null","description":"Callback evaluated by `checkAccess()`. Receives the current `yii\\base\\Action` (or `null`) and must return `true` to grant access."},"collectorCoordinator":{"type":"PHPForge\\Debug\\Collector\\CollectorCoordinator","description":"Configured collector coordinator.","access":"read-only","virtual":true},"collectors":{"type":"array<array-key, array<string, mixed>|Closure(PHPForge\\Debug\\Capture\\CapturePolicy): PHPForge\\Debug\\CollectorInterface|PHPForge\\Debug\\CollectorInterface|string>","default":"[]","description":"Debug collectors resolved from instances, class names, Yii configuration arrays, or `Closure` factories during `init()`."},"dataPath":{"type":"string","default":"'@runtime/debug'","description":"Directory storing the debugger data files (path alias accepted)."},"debugHeaders":{"type":"yii\\base\\Event","description":"Response event raised after the action ran.","access":"write-only","virtual":true},"defaultHeight":{"type":"int","default":"50","description":"Debug bar default height, as a percentage of the total screen height."},"defaultPanel":{"type":"string","default":"'log'","description":"Name of the panel that should be visible when opening the debug panel."},"defaultRoute":{"default":"'index'","description":"Route dispatched when the module is requested without an action segment."},"dirMode":{"type":"int","default":"0700","description":"Permission applied to newly created debugger directories (used by `chmod()`); no umask is applied."},"disableCallbackRestrictionWarning":{"type":"bool","default":"false","description":"Whether to disable the access-callback restriction warning emitted by `checkAccess()`."},"disableIpRestrictionWarning":{"type":"bool","default":"false","description":"Whether to disable the IP restriction warning emitted by `checkAccess()`."},"dispatchers":{"type":"array<string, string>","default":"[]","description":"Collector IDs to hand to application components as their PSR-14 dispatcher, `collectorId => componentId`."},"enableDebugLogs":{"type":"bool","default":"false","description":"Whether to keep log messages emitted by debug-module requests. Enable only when debugging the module itself."},"fileMode":{"type":"int|null","default":"0600","description":"Permission applied to newly created debugger data files (used by `chmod()`)."},"historySize":{"type":"int","default":"50","description":"Maximum number of debug data files to keep; older snapshots beyond this count are pruned."},"logTarget":{"type":"array<string, mixed>|yii\\debug\\LogTarget|string","default":"'yii\\debug\\LogTarget'","description":"LogTarget instance, configuration array, or class name. Always coerced to a `yii\\debug\\LogTarget` by `bootstrap()`."},"maxBodyBytes":{"type":"int","default":"\\PHPForge\\Debug\\Capture\\CapturePolicy::DEFAULT_MAX_BODY_BYTES","description":"Maximum raw request or response body bytes retained by the shared capture policy."},"pageTitle":{"type":"callable(string): string|string|null","default":"null","description":"Page title literal string or a callable receiving the base URL and returning a string."},"panelRegistry":{"type":"PHPForge\\Debug\\Registration\\PanelRegistry","description":"Resolved panel catalog.","access":"read-only","virtual":true},"panels":{"type":"array<string, yii\\debug\\Panel>","default":"[]","description":"Debug panels indexed by panel id. May be populated with config arrays / class names before `initPanels()` runs, but after initialization the array holds only `yii\\debug\\Panel` instances."},"sensitiveKeyPatterns":{"type":"list<string>|null","default":"null","description":"PCRE patterns applied to complete data keys. `null` enables Debug Core defaults when the default exact-key list is active; `[]` explicitly disables pattern matching."},"sensitiveKeyPrefixes":{"type":"list<string>","default":"[]","description":"Literal, case-insensitive data-key prefixes redacted from every persistent debugger capture."},"sensitiveKeys":{"type":"list<string>","default":"\\PHPForge\\Debug\\Helper\\SensitiveDataRedactor::DEFAULT_KEYS","description":"Exact, case-insensitive data keys redacted from every persistent debugger capture."},"shellContextFactory":{"type":"yii\\debug\\service\\ShellContextFactory","description":"Resolved shell factory.","access":"read-only","virtual":true},"skipAjaxRequestUrl":{"type":"array<int|string, mixed>","default":"[]","description":"Routes whose AJAX hits should NOT appear in the toolbar history (e.g. polling endpoints)."},"toolbarHtml":{"type":"string","description":"Rendered `<yii-debug-toolbar>` element.","access":"read-only","virtual":true},"toolbarPosition":{"type":"string","default":"'bottom'","description":"Toolbar position on the page (`'bottom'` or `'upper'`)."},"traceLine":{"type":"callable(array<string, mixed>, yii\\debug\\Panel): string|false|string","default":"self::DEFAULT_IDE_TRACELINE","description":"Trace-line template placeholder string ({file}, {line}, {text}), callable returning the rendered line, or `false` to disable trace-line rendering entirely."},"tracePathMappings":{"type":"array<string, string>","default":"[]","description":"Maps containerized/remote paths to local paths for the {file} portion of `$traceLine`; only the first match is applied."},"urlRuleClass":{"type":"string","default":"'yii\\web\\UrlRule'","description":"Class name of the `yii\\web\\UrlRule` used for rules generated by this module."},"viewPath":{"type":"string","default":"'@vendor/php-forge/debug-core/resources/views'","description":"Path containing the framework-neutral Debug Core templates."}},"methods":{"beforeAction":{"signature":"public function beforeAction(yii\\base\\Action $action): bool","summary":"Disables the application log targets when `$enableDebugLogs` is `false`, applies the access check, and detaches the toolbar/header listeners so the debugger response is not polluted with self-debug data.","params":[{"name":"$action","type":"yii\\base\\Action","description":"Action about to run."}],"return":{"type":"bool","description":"`true` when the action may run; `false` to stop the dispatch."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the log component cannot be resolved."},{"type":"yii\\web\\ForbiddenHttpException","description":"when an identity action has no user-switch authorization behavior or the caller fails the access check on a non-toolbar route."},{"type":"Throwable","description":"when an active collector cannot shut down cleanly."}]},"bootstrap":{"signature":"public function bootstrap(yii\\base\\Application $app): void","summary":"Wires the debug log target, the toolbar/header listeners, the error-page injection hook, and the debugger URL rules onto the application.","params":[{"name":"$app","type":"yii\\base\\Application","description":"Application being bootstrapped."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the log-target configuration does not resolve to a `yii\\debug\\LogTarget`."}]},"checkAccess":{"signature":"protected function checkAccess(yii\\base\\Action|null $action = null): bool","summary":"Returns whether the current request is allowed to access the debugger.","params":[{"name":"$action","type":"yii\\base\\Action|null","default":"null","optional":true,"description":"Action being dispatched, or `null` outside an action context."}],"return":{"type":"bool","description":"`true` when the request may reach the debugger; `false` otherwise."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the registered `yii\\debug\\service\\AccessGuard` definition is invalid."}],"visibility":"protected"},"coreActionMap":{"signature":"protected function coreActionMap(): array<string, class-string>","summary":"Built-in standalone actions dispatched through `yii\\base\\Module::$actionMap`, keyed by action ID.","return":{"type":"array<string, class-string>","description":"Action classes indexed by action id."},"visibility":"protected"},"coreCollectors":{"signature":"protected function coreCollectors(): array<string, array<string, mixed>|string>","summary":"Built-in collectors paired by stable ID with their presentation panels.","return":{"type":"array<string, array<string, mixed>|string>","description":"Collector definitions indexed by collector id."},"visibility":"protected"},"corePanels":{"signature":"protected function corePanels(): array<string, array<string, mixed>|class-string<yii\\debug\\Panel>|class-string<PHPForge\\Debug\\Panel>|string>","summary":"Returns the built-in panel configurations, ordered as the request itself unfolds.","return":{"type":"array<string, array<string, mixed>|class-string<yii\\debug\\Panel>|class-string<PHPForge\\Debug\\Panel>|string>","description":"Panel definitions indexed by panel id."},"visibility":"protected"},"createCapturePolicy":{"signature":"public function createCapturePolicy(list<string> $additionalSensitiveKeys = []): PHPForge\\Debug\\Capture\\CapturePolicy","summary":"Creates the shared persistent-data policy, optionally extending its exact-key list for one collector.","params":[{"name":"$additionalSensitiveKeys","type":"list<string>","default":"[]","optional":true,"description":"Collector-specific exact keys added without weakening global rules."}],"return":{"type":"PHPForge\\Debug\\Capture\\CapturePolicy","description":"Shared policy covering the global rules and the collector-specific keys."},"throws":[{"type":"InvalidArgumentException","description":"when the configured keys, prefixes, patterns, or body limit are rejected."},{"type":"yii\\base\\InvalidConfigException","description":"when the registered `yii\\debug\\service\\CapturePolicyFactory` definition is invalid."}]},"createStandaloneAction":{"signature":"protected function createStandaloneAction(string $route): yii\\base\\Action|null","summary":"Resolves a debugger endpoint from `yii\\base\\Module::$actionMap` before falling back to convention-based discovery.","params":[{"name":"$route","type":"string","description":"Action route relative to this module."}],"return":{"type":"yii\\base\\Action|null","description":"Resolved action, or `null` when the route matches none."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when object creation fails for a resolvable action-map entry."}],"visibility":"protected"},"defaultVersion":{"signature":"protected function defaultVersion(): string","summary":"Returns the default module version string.","return":{"type":"string","description":"Version label reported for this module."},"visibility":"protected"},"getCollectorCoordinator":{"signature":"public function getCollectorCoordinator(): PHPForge\\Debug\\Collector\\CollectorCoordinator","summary":"Returns the validated collector coordinator used by the request log target.","return":{"type":"PHPForge\\Debug\\Collector\\CollectorCoordinator","description":"Configured collector coordinator."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when module initialization has not completed."}]},"getLogTarget":{"signature":"public function getLogTarget(): yii\\debug\\LogTarget","summary":"Returns the initialized `yii\\debug\\LogTarget`, raising when the module has not been bootstrapped.","return":{"type":"yii\\debug\\LogTarget","description":"Initialized log target of this module."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when `bootstrap()` has not run yet, so `$logTarget` is still a configuration array or a class name."}]},"getPanelRegistry":{"signature":"public function getPanelRegistry(): PHPForge\\Debug\\Registration\\PanelRegistry","summary":"Returns the effective panel catalog, which carries the display order and the IDs disabled by configuration.","return":{"type":"PHPForge\\Debug\\Registration\\PanelRegistry","description":"Resolved panel catalog."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when module initialization has not completed."}]},"getShellContextFactory":{"signature":"public function getShellContextFactory(): yii\\debug\\service\\ShellContextFactory","summary":"Returns the factory building the page shell of every debugger action.","return":{"type":"yii\\debug\\service\\ShellContextFactory","description":"Resolved shell factory."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the registered `yii\\debug\\service\\ShellContextFactory` definition is invalid."}]},"getToolbarHtml":{"signature":"public function getToolbarHtml(): string","summary":"Returns the toolbar HTML: a `<yii-debug-toolbar>` custom element wired with data attributes the bundled JS reads.","return":{"type":"string","description":"Rendered `<yii-debug-toolbar>` element."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when `bootstrap()` has not run yet."}]},"getYiiLogo":{"signature":"public static function getYiiLogo(): string","summary":"Returns the Yii logo as a data URI ready to drop into `<img src=\"…\">` or `<link rel=\"icon\">`.","return":{"type":"string","description":"Logo as a data URI."},"static":true},"htmlTitle":{"signature":"public function htmlTitle(): string","summary":"Resolves the page title used in the debugger HTML: the literal `$pageTitle` string when set, the result of the configured callable, or the default `Yii Debugger` label.","return":{"type":"string","description":"Page title for the debugger HTML."}},"init":{"signature":"public function init(): void","summary":"Resolves the `$dataPath` alias and instantiates every configured panel.","return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when a panel configuration cannot be resolved into a `yii\\debug\\Panel` instance."}]},"initActionMap":{"signature":"protected function initActionMap(): void","summary":"Hands the built-in, panel-declared, and configured standalone actions to `yii\\debug\\service\\StandaloneActionResolver` and stores the merged map on `yii\\base\\Module::$actionMap`.","return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the registered resolver definition is invalid."}],"visibility":"protected"},"initCollectors":{"signature":"protected function initCollectors(): void","summary":"Hands the built-in and configured collector definitions to `yii\\debug\\service\\CollectorRegistrar` and stores the resolved collectors with the coordinator driving them.","return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"When a collector configuration or ID is invalid."}],"visibility":"protected"},"initPanels":{"signature":"protected function initPanels(): void","summary":"Hands the built-in and configured panel definitions to `yii\\debug\\service\\PanelRegistrar` and stores the resolved panels with the catalog describing their display order.","return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when a panel configuration, a registration option, or the resolved catalog is invalid."}],"visibility":"protected"},"initPanelServices":{"signature":"protected function initPanelServices(): void","summary":"Registers every enabled panel in the module service locator under its own class and each ancestor class below `yii\\debug\\Panel`.","return":{"type":"void"},"visibility":"protected"},"injectToolbarOnErrorPage":{"signature":"public function injectToolbarOnErrorPage(yii\\web\\ErrorHandlerRenderEvent $event): void","summary":"Injects the debug toolbar into the rendered HTML of an error page (yiisoft/yii2#7616).","params":[{"name":"$event","type":"yii\\web\\ErrorHandlerRenderEvent","description":"Render event carrying the error-page HTML."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when `bootstrap()` has not run yet."}]},"renderToolbar":{"signature":"public function renderToolbar(yii\\base\\Event $event): void","summary":"Renders the mini-toolbar at the end of the page body.","params":[{"name":"$event","type":"yii\\base\\Event","description":"End-of-body event raised by the view."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when `bootstrap()` has not run yet."},{"type":"Throwable","description":"when the view dynamic render fails for the current request."}]},"resetGlobalSettings":{"signature":"protected function resetGlobalSettings(): void","summary":"Resets application-wide settings the debugger should not inherit from the host application (currently the asset bundles registry).","return":{"type":"void"},"visibility":"protected"},"route":{"signature":"public static function route(string $action, array<string, yii\\debug\\TValue> $params = []): non-empty-array<int|string, string|yii\\debug\\TValue>","summary":"Builds a module-absolute route array for the given debugger action.","params":[{"name":"$action","type":"string","description":"Debugger action ID."},{"name":"$params","type":"array<string, yii\\debug\\TValue>","default":"[]","optional":true,"description":"Query parameters merged into the route array."}],"return":{"type":"non-empty-array<int|string, string|yii\\debug\\TValue>","description":"Route array ready for `yii\\helpers\\Url::to()`."},"static":true},"setDebuggerResponseHeaders":{"signature":"protected function setDebuggerResponseHeaders(yii\\web\\Response $response): void","summary":"Applies the debugger response hardening policy.","params":[{"name":"$response","type":"yii\\web\\Response","description":"Response about to be sent."}],"return":{"type":"void"},"visibility":"protected"},"setDebugHeaders":{"signature":"public function setDebugHeaders(yii\\base\\Event $event): void","summary":"Sets headers carrying debug data on AJAX responses so the toolbar can resolve the captured tag and link back to the full view.","params":[{"name":"$event","type":"yii\\base\\Event","description":"Response event raised after the action ran."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when `bootstrap()` has not run yet."}]},"setYiiLogo":{"signature":"public static function setYiiLogo(string $logo): void","summary":"Sets the logo data URI returned by `getYiiLogo()`.","params":[{"name":"$logo","type":"string","description":"Logo as a data URI."}],"return":{"type":"void"},"static":true}},"constants":{"DEFAULT_IDE_TRACELINE":{"value":"\\PHPForge\\Debug\\Helper\\Trace::DEFAULT_TEMPLATE","description":"Default `$traceLine` template: the shared `ide://` deep link that IDE extensions resolve into \"open file at line\"."},"SOURCE_PATH":{"value":"'@vendor/php-forge/debug-core/resources/assets'","description":"Default source path for the framework-neutral Debug Core assets. The framework adapter may override this to provide a different path."},"VIEW_PATH_ALIAS":{"value":"'@yiiDebugViews'","description":"Adapter-owned alias for the shared Debug Core templates."}},"inherited":{"properties":{"actionMap":"yii\\base\\Module","actionNamespace":"yii\\base\\Module","aliases":"yii\\base\\Module","basePath":"yii\\base\\Module","behaviors":"yii\\base\\Component","components":"yii\\di\\ServiceLocator","controllerMap":"yii\\base\\Module","controllerNamespace":"yii\\base\\Module","controllerPath":"yii\\base\\Module","id":"yii\\base\\Module","layout":"yii\\base\\Module","layoutPath":"yii\\base\\Module","module":"yii\\base\\Module","modules":"yii\\base\\Module","params":"yii\\base\\Module","uniqueId":"yii\\base\\Module","version":"yii\\base\\Module"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Module","__get":"yii\\di\\ServiceLocator","__isset":"yii\\di\\ServiceLocator","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterAction":"yii\\base\\Module","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clear":"yii\\di\\ServiceLocator","createController":"yii\\base\\Module","createControllerByID":"yii\\base\\Module","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","get":"yii\\base\\Module","getBasePath":"yii\\base\\Module","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getComponents":"yii\\di\\ServiceLocator","getControllerPath":"yii\\base\\Module","getInstance":"yii\\base\\Module","getLayoutPath":"yii\\base\\Module","getModule":"yii\\base\\Module","getModules":"yii\\base\\Module","getUniqueId":"yii\\base\\Module","getVersion":"yii\\base\\Module","getViewPath":"yii\\base\\Module","has":"yii\\base\\Module","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasModule":"yii\\base\\Module","hasProperty":"yii\\base\\Component","off":"yii\\base\\Component","on":"yii\\base\\Component","runAction":"yii\\base\\Module","runMappedAction":"yii\\base\\Module","runStandaloneAction":"yii\\base\\Module","set":"yii\\di\\ServiceLocator","setAliases":"yii\\base\\Module","setBasePath":"yii\\base\\Module","setComponents":"yii\\di\\ServiceLocator","setControllerPath":"yii\\base\\Module","setInstance":"yii\\base\\Module","setLayoutPath":"yii\\base\\Module","setModule":"yii\\base\\Module","setModules":"yii\\base\\Module","setVersion":"yii\\base\\Module","setViewPath":"yii\\base\\Module","trigger":"yii\\base\\Component"},"events":{"EVENT_BEFORE_ACTION":"yii\\base\\Module","EVENT_AFTER_ACTION":"yii\\base\\Module"}}},"yii\\debug\\Panel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panel/","summary":"Base class for debug toolbar panels.","extends":"yii\\base\\Component","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"actions":{"type":"array<string, array<string, mixed>|class-string>","default":"[]","description":"Standalone actions merged into the debug module's `yii\\base\\Module::$actionMap`, keyed by action ID."},"detail":{"type":"string","description":"Detail view markup; `''` when the panel does not expose a detail view.","access":"read-only","virtual":true},"error":{"type":"PHPForge\\Debug\\Storage\\ExceptionSnapshot|null","default":"null","description":"Exception captured when the panel failed to produce or hydrate its snapshot.","visibility":"protected"},"id":{"type":"string","default":"''","description":"Panel unique identifier, assigned by the container module on registration."},"module":{"type":"yii\\debug\\Module|null","default":"null","description":"Debug module owning this panel."},"name":{"type":"string","description":"Display name; `''` for the base class.","access":"read-only","virtual":true},"renderContext":{"type":"PHPForge\\Debug\\Panel\\PanelRenderContext|null","description":"Prepared render context, or `null` outside a debugger request.","virtual":true},"tag":{"type":"string","default":"''","description":"Tag of the request whose data this panel currently exposes."},"toolbarData":{"type":"array<string, mixed>","description":"Toolbar envelope; `[]` to skip the panel.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string|null","description":"Icon key, or `null` to render no icon.","access":"read-only","virtual":true},"url":{"type":"string","description":"Absolute URL to the panel detail view.","access":"read-only","virtual":true},"viewPath":{"type":"string","description":"Directory the panel views resolve against.","access":"read-only","virtual":true}},"methods":{"capture":{"signature":"public function capture(): PHPForge\\Debug\\Storage\\PanelSnapshot|null","summary":"Captures the panel payload for the current request.","return":{"type":"PHPForge\\Debug\\Storage\\PanelSnapshot|null","description":"Typed payload to persist; `null` when the panel records nothing."}},"getDetail":{"signature":"public function getDetail(): string","summary":"Returns the detail view markup rendered when the user opens the panel.","return":{"type":"string","description":"Detail view markup; `''` when the panel does not expose a detail view."}},"getError":{"signature":"public function getError(): PHPForge\\Debug\\Storage\\ExceptionSnapshot|null","summary":"Returns the exception captured while collecting the panel payload, if any.","return":{"type":"PHPForge\\Debug\\Storage\\ExceptionSnapshot|null","description":"Captured failure, or `null` when the panel ran cleanly."}},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name shown on the toolbar and the detail navigation.","return":{"type":"string","description":"Display name; `''` for the base class."}},"getRenderContext":{"signature":"public function getRenderContext(): PHPForge\\Debug\\Panel\\PanelRenderContext|null","summary":"Returns the framework-neutral render context for the active debugger request, when one has been prepared.","return":{"type":"PHPForge\\Debug\\Panel\\PanelRenderContext|null","description":"Prepared render context, or `null` outside a debugger request."}},"getToolbarData":{"signature":"public function getToolbarData(): array<string, mixed>","summary":"Returns the toolbar envelope wrapping the panel's icon, items, and URL.","return":{"type":"array<string, mixed>","description":"Toolbar envelope; `[]` to skip the panel."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string|null","summary":"Returns the icon key used on the panel's toolbar chip, or `null` to render no icon.","return":{"type":"string|null","description":"Icon key, or `null` to render no icon."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Returns the structured items rendered on the debug toolbar for this panel.","return":{"type":"array<int, array<string, mixed>>","description":"Structured items; `[]` to skip the panel."},"visibility":"protected"},"getTraceLine":{"signature":"public function getTraceLine(array<string, mixed> $options): string","summary":"Builds a trace line for the toolbar through the shared `PHPForge\\Debug\\Helper\\Trace` renderer, applying `yii\\debug\\Module::$tracePathMappings` and the configured `yii\\debug\\Module::$traceLine` template (or callable).","params":[{"name":"$options","type":"array<string, mixed>","description":"Trace frame; consumes `file`, `line`, and optional `text`."}],"return":{"type":"string","description":"Trace line ready for inclusion on the toolbar."}},"getUrl":{"signature":"public function getUrl(array<string, mixed>|null $additionalParams = null): string","summary":"Returns the URL pointing to this panel's detail view for the current request tag.","params":[{"name":"$additionalParams","type":"array<string, mixed>|null","default":"null","optional":true,"description":"Extra query parameters merged into the route."}],"return":{"type":"string","description":"Absolute URL to the panel detail view."}},"getViewPath":{"signature":"public function getViewPath(): string","summary":"Returns the directory under which the panel's relative views resolve.","return":{"type":"string","description":"Directory the panel views resolve against."}},"hasContent":{"signature":"public function hasContent(): bool","summary":"Returns whether the panel captured content for the loaded request.","return":{"type":"bool","description":"`true` when the panel has content for the loaded capture; `false` otherwise."}},"hasError":{"signature":"public function hasError(): bool","summary":"Returns `true` when `setError()` captured an exception during panel capture or hydration.","return":{"type":"bool","description":"`true` when a failure was captured; `false` otherwise."}},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Hydrates the panel from the JSON payload previously produced by `capture()`.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload is invalid or cannot be applied to the panel."}]},"isEnabled":{"signature":"public function isEnabled(): bool","summary":"Indicates whether this panel is enabled and should be registered by the module.","return":{"type":"bool","description":"`true` when the module should register the panel; `false` otherwise."}},"isVisible":{"signature":"public function isVisible(): bool","summary":"Returns whether the panel should appear in the toolbar and sidebar navigation.","return":{"type":"bool","description":"`true` when the panel appears in the toolbar and sidebar; `false` otherwise."}},"moduleBound":{"signature":"public function moduleBound(): void","summary":"Completes module-dependent wiring after the container module binds `$id` and `$module`.","return":{"type":"void"}},"setError":{"signature":"public function setError(PHPForge\\Debug\\Storage\\ExceptionSnapshot $error): void","summary":"Records an exception thrown during capture or hydration so `yii\\debug\\LogTarget` can surface it in the UI.","params":[{"name":"$error","type":"PHPForge\\Debug\\Storage\\ExceptionSnapshot","description":"Failure captured for this panel."}],"return":{"type":"void"}},"setRenderContext":{"signature":"public function setRenderContext(PHPForge\\Debug\\Panel\\PanelRenderContext|null $renderContext): void","summary":"Installs the framework-neutral render context prepared for this panel by the debugger action.","params":[{"name":"$renderContext","type":"PHPForge\\Debug\\Panel\\PanelRenderContext|null","description":"Render context, or `null` to clear it."}],"return":{"type":"void"}}},"inherited":{"properties":{"behaviors":"yii\\base\\Component"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","off":"yii\\base\\Component","on":"yii\\base\\Component","trigger":"yii\\base\\Component"}}},"yii\\debug\\ToolbarAsset":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/toolbarasset/","summary":"Defines the Yii2 asset bundle for the shared toolbar runtime.","extends":"yii\\web\\AssetBundle","implements":["yii\\base\\Configurable"],"properties":{"js":{"default":"['dist/js/toolbar.min.js']","description":"Runtime driving the floating debug toolbar."},"jsOptions":{"default":"['type' => 'module']","description":"Loads the bundle scripts as ES modules, keeping their top-level identifiers module-scoped."},"sourcePath":{"default":"\\yii\\debug\\Module::SOURCE_PATH","description":"Published source directory of the packaged debugger assets."}},"inherited":{"properties":{"basePath":"yii\\web\\AssetBundle","baseUrl":"yii\\web\\AssetBundle","css":"yii\\web\\AssetBundle","cssOptions":"yii\\web\\AssetBundle","depends":"yii\\web\\AssetBundle","publishOptions":"yii\\web\\AssetBundle"},"methods":{"__call":"yii\\base\\BaseObject","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\BaseObject","__isset":"yii\\base\\BaseObject","__set":"yii\\base\\BaseObject","__unset":"yii\\base\\BaseObject","canGetProperty":"yii\\base\\BaseObject","canSetProperty":"yii\\base\\BaseObject","className":"yii\\base\\BaseObject","hasMethod":"yii\\base\\BaseObject","hasProperty":"yii\\base\\BaseObject","init":"yii\\web\\AssetBundle","publish":"yii\\web\\AssetBundle","register":"yii\\web\\AssetBundle","registerAssetFiles":"yii\\web\\AssetBundle"}}},"yii\\debug\\ToolbarDataMapper":{"kind":"class","modifiers":["final","readonly"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/toolbardatamapper/","summary":"Maps Yii2 panel envelopes to the shared typed toolbar contract.","methods":{"create":{"signature":"public static function create(string $tag, string $title): self","summary":"Creates a mapper for a capture, ready for immutable enrichment.","params":[{"name":"$tag","type":"string","description":"Tag of the capture the toolbar links to."},{"name":"$title","type":"string","description":"Title of the captured request."}],"return":{"type":"self","description":"Mapper carrying only the mandatory toolbar identity."},"static":true},"map":{"signature":"public function map(array<string, yii\\debug\\Panel> $panels): array{configUrl: string, defaultHeight: int, iconBaseUrl: string, indexUrl: string, items: list<array<string, mixed>>, logo: string|null, logoFallback: string|null, phpInfoUrl: string|null, phpVersion: string|null, position: string, tag: string, title: string, yiiVersion: string|null}","summary":"Creates the JSON-ready toolbar payload.","params":[{"name":"$panels","type":"array<string, yii\\debug\\Panel>","description":"Registered Yii2 panels keyed by ID, in display order."}],"return":{"type":"array{configUrl: string, defaultHeight: int, iconBaseUrl: string, indexUrl: string, items: list<array<string, mixed>>, logo: string|null, logoFallback: string|null, phpInfoUrl: string|null, phpVersion: string|null, position: string, tag: string, title: string, yiiVersion: string|null}","description":"Payload consumed by the shared toolbar runtime."}},"withBranding":{"signature":"public function withBranding(string|null $logo, string|null $logoFallback = null, string|null $phpVersion = null, string|null $yiiVersion = null): self","summary":"Returns a copy carrying the brand assets and the version labels.","params":[{"name":"$logo","type":"string|null","description":"Logo as a data URI, or `null` to fall back."},{"name":"$logoFallback","type":"string|null","default":"null","optional":true,"description":"Logo used when the primary one is unavailable, or `null` for none."},{"name":"$phpVersion","type":"string|null","default":"null","optional":true,"description":"PHP version label, or `null` when unavailable."},{"name":"$yiiVersion","type":"string|null","default":"null","optional":true,"description":"Yii version label, or `null` when unavailable."}],"return":{"type":"self","description":"Mapper with the branding applied."}},"withNavigation":{"signature":"public function withNavigation(string $indexUrl, string|null $configUrl = null, string|null $phpInfoUrl = null): self","summary":"Returns a copy carrying the debugger navigation URLs.","params":[{"name":"$indexUrl","type":"string","description":"URL of the history page."},{"name":"$configUrl","type":"string|null","default":"null","optional":true,"description":"URL of the configuration panel, or `null` to reuse the history URL."},{"name":"$phpInfoUrl","type":"string|null","default":"null","optional":true,"description":"URL of the `phpinfo()` page, or `null` when disabled."}],"return":{"type":"self","description":"Mapper with the navigation applied."}},"withPresentation":{"signature":"public function withPresentation(string $position, int $defaultHeight, string $iconBaseUrl = ''): self","summary":"Returns a copy carrying the drawer presentation settings.","params":[{"name":"$position","type":"string","description":"Edge the toolbar docks to."},{"name":"$defaultHeight","type":"int","description":"Collapsed toolbar height, in pixels."},{"name":"$iconBaseUrl","type":"string","default":"''","optional":true,"description":"Base URL the panel icons resolve against."}],"return":{"type":"self","description":"Mapper with the presentation applied."}}}},"yii\\debug\\ToolbarRenderer":{"kind":"class","modifiers":["final","readonly"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/toolbarrenderer/","summary":"Renders shared toolbar views and resolves their assets through Yii2.","methods":{"__construct":{"signature":"public function __construct(yii\\base\\View $view, yii\\web\\AssetManager $assetManager, string $viewPath)","summary":"Binds toolbar rendering to the Yii view, asset publisher and template path.","params":[{"name":"$view","type":"yii\\base\\View","description":"Yii2 PHP view renderer."},{"name":"$assetManager","type":"yii\\web\\AssetManager","description":"Yii2 asset publisher."},{"name":"$viewPath","type":"string","description":"Shared toolbar template path or alias."}]},"inject":{"signature":"public function inject(string $html, string $toolbar): string","summary":"Injects toolbar markup immediately before the final closing body tag.","params":[{"name":"$html","type":"string","description":"Response HTML."},{"name":"$toolbar","type":"string","description":"Rendered toolbar markup."}],"return":{"type":"string","description":"HTML containing the toolbar, appended when no closing body tag exists."}},"renderElement":{"signature":"public function renderElement(string $dataUrl, list<string> $skipUrls = [], string $position = 'bottom', int $height = 50): string","summary":"Renders the framework-neutral toolbar template through the Yii2 view component.","params":[{"name":"$dataUrl","type":"string","description":"Toolbar payload URL."},{"name":"$skipUrls","type":"list<string>","default":"[]","optional":true,"description":"Same-origin URLs excluded from AJAX tracking."},{"name":"$position","type":"string","default":"'bottom'","optional":true,"description":"Initial toolbar position."},{"name":"$height","type":"int","default":"50","optional":true,"description":"Initial drawer height percentage."}],"return":{"type":"string","description":"Rendered toolbar custom element."}},"scriptTag":{"signature":"public function scriptTag(): string","summary":"Renders a script tag for the Yii2-published toolbar runtime.","return":{"type":"string","description":"Toolbar runtime script tag."}}}},"yii\\debug\\VersionResolver":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/versionresolver/","summary":"Resolves human-readable Composer package versions for the debug UI.","methods":{"forExtensions":{"signature":"public static function forExtensions(array<int|string, array{name?: string, version?: string, bootstrap?: string|array<string, mixed>, alias?: array<string, string>}> $extensions): array<int|string, array{name?: string, version?: string, bootstrap?: string|array<string, mixed>, alias?: array<string, string>}>","summary":"Rewrites the `version` field of each entry with the friendly version, when resolvable.","params":[{"name":"$extensions","type":"array<int|string, array{name?: string, version?: string, bootstrap?: string|array<string, mixed>, alias?: array<string, string>}>","description":"Extension map keyed by package name."}],"return":{"type":"array<int|string, array{name?: string, version?: string, bootstrap?: string|array<string, mixed>, alias?: array<string, string>}>","description":"Extension map with `version` fields rewritten in place."},"static":true},"forPackage":{"signature":"public static function forPackage(string $package): string|null","summary":"Returns a friendly version string for a Composer package.","params":[{"name":"$package","type":"string","description":"Composer package name (`vendor/package`)."}],"return":{"type":"string|null","description":"Friendly version, or `null` when the package is not installed or has no pretty version."},"static":true},"yii":{"signature":"public static function yii(): string","summary":"Returns the Yii framework version for the toolbar brand chip.","return":{"type":"string","description":"Yii version label for the brand chip."},"static":true}}},"yii\\debug\\actions\\Action":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/action/","summary":"Base class for the standalone debugger actions dispatched through `yii\\debug\\Module::$actionMap`.","extends":"yii\\web\\Action","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"debugModule":{"type":"yii\\debug\\Module","description":"Owning debug module.","access":"read-only","virtual":true},"manifest":{"type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>","description":"Manifest entries indexed by tag.","access":"read-only","virtual":true},"summary":{"type":"PHPForge\\Debug\\Storage\\RequestSummary|null","default":"null","description":"Summary metadata for the active debug entry, populated by `loadData()`."},"viewPath":{"type":"string","description":"Absolute path to the debugger views.","access":"read-only","virtual":true}},"methods":{"beforeRun":{"signature":"protected function beforeRun(): mixed","summary":"Forces the HTML response format and installs the bare shell before the action body runs.","return":{"type":"mixed"},"visibility":"protected"},"createBareShellContext":{"signature":"protected function createBareShellContext(): yii\\debug\\widgets\\shell\\ShellContext","summary":"Builds the bare shell installed by `beforeRun()` through `yii\\debug\\Module::getShellContextFactory()`.","return":{"type":"yii\\debug\\widgets\\shell\\ShellContext","description":"Shell that echoes raw content without the brand bar or sidebar."},"visibility":"protected"},"createPanelRenderContext":{"signature":"protected function createPanelRenderContext(yii\\debug\\Panel $panel, string $tag): PHPForge\\Debug\\Panel\\PanelRenderContext","summary":"Builds the portable state available to shared panel renderers for the active snapshot.","params":[{"name":"$panel","type":"yii\\debug\\Panel","description":"Panel being rendered."},{"name":"$tag","type":"string","description":"Capture under inspection."}],"return":{"type":"PHPForge\\Debug\\Panel\\PanelRenderContext","description":"State shared with the portable renderers."},"visibility":"protected"},"createShellContext":{"signature":"protected function createShellContext(string $mode, array<string, PHPForge\\Debug\\Storage\\RequestSummary> $manifest, string|null $activeTag, PHPForge\\Debug\\Storage\\RequestSummary|null $summary, PHPForge\\Debug\\View\\Sidebar\\SidebarView $sidebar): yii\\debug\\widgets\\shell\\ShellContext","summary":"Builds the shared shell for an index or view page through `yii\\debug\\Module::getShellContextFactory()`.","params":[{"name":"$mode","type":"string","description":"One of the `yii\\debug\\widgets\\shell\\ShellContext` mode constants."},{"name":"$manifest","type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>","description":"Manifest entries indexed by tag."},{"name":"$activeTag","type":"string|null","description":"Tag focused by the page, or `null` on the index."},{"name":"$summary","type":"PHPForge\\Debug\\Storage\\RequestSummary|null","description":"Summary of the focused entry, or `null` on the index."},{"name":"$sidebar","type":"PHPForge\\Debug\\View\\Sidebar\\SidebarView","description":"Prepared sidebar payload."}],"return":{"type":"yii\\debug\\widgets\\shell\\ShellContext","description":"Shell for the requested page."},"visibility":"protected"},"getDebugModule":{"signature":"public function getDebugModule(): yii\\debug\\Module","summary":"Returns the owning debug module.","return":{"type":"yii\\debug\\Module","description":"Owning debug module."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the action was dispatched without a debug module."}]},"getLogTarget":{"signature":"protected function getLogTarget(): yii\\debug\\LogTarget","summary":"Returns the initialized debug log target.","return":{"type":"yii\\debug\\LogTarget","description":"Log target used to read the manifest and per-tag panel payloads."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the module was not bootstrapped before the action is used."}],"visibility":"protected"},"getMailCollector":{"signature":"protected function getMailCollector(): yii\\debug\\collectors\\MailCollector","summary":"Returns the registered mail collector.","return":{"type":"yii\\debug\\collectors\\MailCollector","description":"Mail collector used to resolve captured mail files."},"throws":[{"type":"yii\\web\\NotFoundHttpException","description":"when no mail collector is registered on the module."}],"visibility":"protected"},"getManifest":{"signature":"public function getManifest(bool $forceReload = false): array<string, PHPForge\\Debug\\Storage\\RequestSummary>","summary":"Returns the debug entry manifest, reloading it from the log target on demand.","params":[{"name":"$forceReload","type":"bool","default":"false","optional":true,"description":"`true` to bypass the in-memory cache and re-read the manifest from disk."}],"return":{"type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>","description":"Manifest entries indexed by tag."}},"getPanel":{"signature":"protected function getPanel(string $id): yii\\debug\\Panel","summary":"Returns a registered panel by ID.","params":[{"name":"$id","type":"string","description":"Panel ID to resolve."}],"return":{"type":"yii\\debug\\Panel","description":"Panel instance matching the given ID."},"throws":[{"type":"yii\\web\\NotFoundHttpException","description":"when the module has no panel registered under the given ID."}],"visibility":"protected"},"getViewPath":{"signature":"public function getViewPath(): string","summary":"Returns the view directory shared by every debugger page.","return":{"type":"string","description":"Absolute path to the debugger views."}},"loadData":{"signature":"public function loadData(string $tag, int $maxRetry = 0): void","summary":"Loads the debug entry for the given tag into every registered panel.","params":[{"name":"$tag","type":"string","description":"Tag of the debug entry to load."},{"name":"$maxRetry","type":"int","default":"0","optional":true,"description":"Maximum number of retries before giving up."}],"return":{"type":"void"},"throws":[{"type":"yii\\web\\NotFoundHttpException","description":"when the tag cannot be located after every retry, or when the entry lacks a summary block."}]},"prepareIndexShell":{"signature":"protected function prepareIndexShell(array<string, PHPForge\\Debug\\Storage\\RequestSummary> $manifest, string $cursor): void","summary":"Prepares the shared shell for the request history page.","params":[{"name":"$manifest","type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>","description":"Manifest entries indexed by tag."},{"name":"$cursor","type":"string","description":"Active history-cursor tag, or `''` when none is selected."}],"return":{"type":"void"},"visibility":"protected"},"prepareShell":{"signature":"public function prepareShell(yii\\debug\\Panel $activePanel, string $tag): void","summary":"Prepares the shared shell for a request panel or nested panel action.","params":[{"name":"$activePanel","type":"yii\\debug\\Panel","description":"Panel focused by the rendered page."},{"name":"$tag","type":"string","description":"Tag of the loaded debug entry."}],"return":{"type":"void"},"throws":[{"type":"yii\\web\\NotFoundHttpException","description":"when no summary was loaded for the tag."}]},"render":{"signature":"public function render(string $view, array<string, mixed> $params = []): string","summary":"Renders a debugger view wrapped in the shared page layout.","params":[{"name":"$view","type":"string","description":"View name relative to `getViewPath()`."},{"name":"$params","type":"array<string, mixed>","default":"[]","optional":true,"description":"View parameters."}],"return":{"type":"string","description":"Rendered page markup."}},"renderPanelError":{"signature":"protected function renderPanelError(PHPForge\\Debug\\Storage\\ExceptionSnapshot $error): string","summary":"Renders a JSON-safe panel exception snapshot through Yii's exception view.","params":[{"name":"$error","type":"PHPForge\\Debug\\Storage\\ExceptionSnapshot","description":"Exception captured by the panel, typically via `yii\\debug\\Panel::getError()`."}],"return":{"type":"string","description":"Rendered exception view body."},"visibility":"protected"},"renderPartial":{"signature":"public function renderPartial(string $view, array<string, mixed> $params = []): string","summary":"Renders a debugger view without the page layout.","params":[{"name":"$view","type":"string","description":"View name relative to `getViewPath()`."},{"name":"$params","type":"array<string, mixed>","default":"[]","optional":true,"description":"View parameters."}],"return":{"type":"string","description":"Rendered view markup."}},"resolveTheme":{"signature":"protected function resolveTheme(): string","summary":"Resolves the effective light or dark theme.","return":{"type":"string","description":"Effective theme: `'light'` or `'dark'`."},"visibility":"protected"}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","id":"yii\\base\\Action","module":"yii\\base\\Action","uniqueId":"yii\\base\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getModule":"yii\\base\\Action","getUniqueId":"yii\\base\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","off":"yii\\base\\Component","on":"yii\\base\\Component","resolveStandaloneParams":"yii\\web\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\actions\\CompareAction":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/compareaction/","summary":"Compares request summaries and panel payload structure across two captured debugger snapshots.","extends":"yii\\debug\\actions\\Action","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"methods":{"run":{"signature":"public function run(string|null $baseline = null, string|null $target = null): string","summary":"Runs the comparison page.","params":[{"name":"$baseline","type":"string|null","default":"null","optional":true,"description":"Baseline request tag."},{"name":"$target","type":"string|null","default":"null","optional":true,"description":"Target request tag."}],"return":{"type":"string","description":"Rendered comparison page."},"throws":[{"type":"yii\\web\\NotFoundHttpException","description":"when omitted tags cannot resolve a comparison pair or a requested snapshot is unavailable."}]}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","debugModule":"yii\\debug\\actions\\Action","id":"yii\\base\\Action","manifest":"yii\\debug\\actions\\Action","module":"yii\\base\\Action","summary":"yii\\debug\\actions\\Action","uniqueId":"yii\\base\\Action","viewPath":"yii\\debug\\actions\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\debug\\actions\\Action","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","createBareShellContext":"yii\\debug\\actions\\Action","createPanelRenderContext":"yii\\debug\\actions\\Action","createShellContext":"yii\\debug\\actions\\Action","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getDebugModule":"yii\\debug\\actions\\Action","getLogTarget":"yii\\debug\\actions\\Action","getMailCollector":"yii\\debug\\actions\\Action","getManifest":"yii\\debug\\actions\\Action","getModule":"yii\\base\\Action","getPanel":"yii\\debug\\actions\\Action","getUniqueId":"yii\\base\\Action","getViewPath":"yii\\debug\\actions\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","loadData":"yii\\debug\\actions\\Action","off":"yii\\base\\Component","on":"yii\\base\\Component","prepareIndexShell":"yii\\debug\\actions\\Action","prepareShell":"yii\\debug\\actions\\Action","render":"yii\\debug\\actions\\Action","renderPanelError":"yii\\debug\\actions\\Action","renderPartial":"yii\\debug\\actions\\Action","resolveStandaloneParams":"yii\\web\\Action","resolveTheme":"yii\\debug\\actions\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\actions\\DownloadMailAction":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/downloadmailaction/","summary":"Streams a captured mail file as a download.","extends":"yii\\debug\\actions\\Action","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"methods":{"run":{"signature":"public function run(string $file): yii\\web\\Response","summary":"Runs the action.","params":[{"name":"$file","type":"string","description":"Name of the captured `.eml` file to stream."}],"return":{"type":"yii\\web\\Response","description":"Response that emits the mail file as an attachment."},"throws":[{"type":"yii\\web\\NotFoundHttpException","description":"When the file name contains a path separator or the file does not exist on disk."}]}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","debugModule":"yii\\debug\\actions\\Action","id":"yii\\base\\Action","manifest":"yii\\debug\\actions\\Action","module":"yii\\base\\Action","summary":"yii\\debug\\actions\\Action","uniqueId":"yii\\base\\Action","viewPath":"yii\\debug\\actions\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\debug\\actions\\Action","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","createBareShellContext":"yii\\debug\\actions\\Action","createPanelRenderContext":"yii\\debug\\actions\\Action","createShellContext":"yii\\debug\\actions\\Action","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getDebugModule":"yii\\debug\\actions\\Action","getLogTarget":"yii\\debug\\actions\\Action","getMailCollector":"yii\\debug\\actions\\Action","getManifest":"yii\\debug\\actions\\Action","getModule":"yii\\base\\Action","getPanel":"yii\\debug\\actions\\Action","getUniqueId":"yii\\base\\Action","getViewPath":"yii\\debug\\actions\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","loadData":"yii\\debug\\actions\\Action","off":"yii\\base\\Component","on":"yii\\base\\Component","prepareIndexShell":"yii\\debug\\actions\\Action","prepareShell":"yii\\debug\\actions\\Action","render":"yii\\debug\\actions\\Action","renderPanelError":"yii\\debug\\actions\\Action","renderPartial":"yii\\debug\\actions\\Action","resolveStandaloneParams":"yii\\web\\Action","resolveTheme":"yii\\debug\\actions\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\actions\\IdentityAction":{"kind":"class","modifiers":["abstract"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/identityaction/","summary":"Guards the standalone identity mutation actions with the controller checks they do not otherwise receive.","extends":"yii\\web\\Action","implements":["yii\\base\\Configurable"],"methods":{"beforeRun":{"signature":"protected function beforeRun(): mixed","summary":"Forces JSON output and requires an active session, POST, and a valid CSRF token.","return":{"type":"mixed"},"throws":[{"type":"yii\\web\\BadRequestHttpException","description":"When the request has no active session or carries an invalid CSRF token."},{"type":"yii\\web\\MethodNotAllowedHttpException","description":"When the request method is not POST."}],"visibility":"protected"}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","id":"yii\\base\\Action","module":"yii\\base\\Action","uniqueId":"yii\\base\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getModule":"yii\\base\\Action","getUniqueId":"yii\\base\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","off":"yii\\base\\Component","on":"yii\\base\\Component","resolveStandaloneParams":"yii\\web\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\actions\\IndexAction":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/indexaction/","summary":"Renders the request history page listing every captured debug entry.","extends":"yii\\debug\\actions\\Action","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"methods":{"run":{"signature":"public function run(): string","summary":"Runs the action.","return":{"type":"string","description":"Rendered index view."},"throws":[{"type":"yii\\base\\Exception","description":"When no debug entries have been captured yet."}]}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","debugModule":"yii\\debug\\actions\\Action","id":"yii\\base\\Action","manifest":"yii\\debug\\actions\\Action","module":"yii\\base\\Action","summary":"yii\\debug\\actions\\Action","uniqueId":"yii\\base\\Action","viewPath":"yii\\debug\\actions\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\debug\\actions\\Action","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","createBareShellContext":"yii\\debug\\actions\\Action","createPanelRenderContext":"yii\\debug\\actions\\Action","createShellContext":"yii\\debug\\actions\\Action","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getDebugModule":"yii\\debug\\actions\\Action","getLogTarget":"yii\\debug\\actions\\Action","getMailCollector":"yii\\debug\\actions\\Action","getManifest":"yii\\debug\\actions\\Action","getModule":"yii\\base\\Action","getPanel":"yii\\debug\\actions\\Action","getUniqueId":"yii\\base\\Action","getViewPath":"yii\\debug\\actions\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","loadData":"yii\\debug\\actions\\Action","off":"yii\\base\\Component","on":"yii\\base\\Component","prepareIndexShell":"yii\\debug\\actions\\Action","prepareShell":"yii\\debug\\actions\\Action","render":"yii\\debug\\actions\\Action","renderPanelError":"yii\\debug\\actions\\Action","renderPartial":"yii\\debug\\actions\\Action","resolveStandaloneParams":"yii\\web\\Action","resolveTheme":"yii\\debug\\actions\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\actions\\PhpInfoAction":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/phpinfoaction/","summary":"Renders the full `phpinfo()` output inside the shared debugger shell.","extends":"yii\\debug\\actions\\Action","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"methods":{"run":{"signature":"public function run(): string","summary":"Runs the action.","return":{"type":"string","description":"Rendered phpinfo view."}}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","debugModule":"yii\\debug\\actions\\Action","id":"yii\\base\\Action","manifest":"yii\\debug\\actions\\Action","module":"yii\\base\\Action","summary":"yii\\debug\\actions\\Action","uniqueId":"yii\\base\\Action","viewPath":"yii\\debug\\actions\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\debug\\actions\\Action","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","createBareShellContext":"yii\\debug\\actions\\Action","createPanelRenderContext":"yii\\debug\\actions\\Action","createShellContext":"yii\\debug\\actions\\Action","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getDebugModule":"yii\\debug\\actions\\Action","getLogTarget":"yii\\debug\\actions\\Action","getMailCollector":"yii\\debug\\actions\\Action","getManifest":"yii\\debug\\actions\\Action","getModule":"yii\\base\\Action","getPanel":"yii\\debug\\actions\\Action","getUniqueId":"yii\\base\\Action","getViewPath":"yii\\debug\\actions\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","loadData":"yii\\debug\\actions\\Action","off":"yii\\base\\Component","on":"yii\\base\\Component","prepareIndexShell":"yii\\debug\\actions\\Action","prepareShell":"yii\\debug\\actions\\Action","render":"yii\\debug\\actions\\Action","renderPanelError":"yii\\debug\\actions\\Action","renderPartial":"yii\\debug\\actions\\Action","resolveStandaloneParams":"yii\\web\\Action","resolveTheme":"yii\\debug\\actions\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\actions\\ResetIdentityAction":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/resetidentityaction/","summary":"Restores the original identity captured before the impersonation swap.","extends":"yii\\debug\\actions\\IdentityAction","implements":["yii\\base\\Configurable"],"methods":{"run":{"signature":"public function run(yii\\web\\User $user): yii\\web\\User","summary":"Runs the action.","params":[{"name":"$user","type":"yii\\web\\User","description":"User component whose original identity is restored; bound by parameter name from the application."}],"return":{"type":"yii\\web\\User","description":"User component reflecting the restored identity."}}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","id":"yii\\base\\Action","module":"yii\\base\\Action","uniqueId":"yii\\base\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\debug\\actions\\IdentityAction","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getModule":"yii\\base\\Action","getUniqueId":"yii\\base\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","off":"yii\\base\\Component","on":"yii\\base\\Component","resolveStandaloneParams":"yii\\web\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\actions\\SetIdentityAction":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/setidentityaction/","summary":"Switches the active identity to the user resolved from the posted `user_id`.","extends":"yii\\debug\\actions\\IdentityAction","implements":["yii\\base\\Configurable"],"methods":{"run":{"signature":"public function run(yii\\web\\User $user, yii\\web\\Request $request): yii\\web\\User","summary":"Runs the action.","params":[{"name":"$user","type":"yii\\web\\User","description":"User component whose identity is switched to the resolved user; bound by parameter name from the application."},{"name":"$request","type":"yii\\web\\Request","description":"Request carrying the posted `user_id`."}],"return":{"type":"yii\\web\\User","description":"User component reflecting the new impersonated identity."},"throws":[{"type":"yii\\web\\BadRequestHttpException","description":"When the `user_id` parameter is missing or not a scalar, the identity class is not configured, or the identity cannot be found."}]}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","id":"yii\\base\\Action","module":"yii\\base\\Action","uniqueId":"yii\\base\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\debug\\actions\\IdentityAction","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getModule":"yii\\base\\Action","getUniqueId":"yii\\base\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","off":"yii\\base\\Component","on":"yii\\base\\Component","resolveStandaloneParams":"yii\\web\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\actions\\ToolbarDataAction":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/toolbardataaction/","summary":"Returns the JSON metadata payload consumed by the toolbar JS app.","extends":"yii\\debug\\actions\\Action","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"methods":{"run":{"signature":"public function run(string $tag): array{error: string, tag: string}|array{configUrl: string, defaultHeight: int, iconBaseUrl: string, indexUrl: string, items: list<array<string, mixed>>, logo: string|null, logoFallback: string|null, phpInfoUrl: string|null, phpVersion: string|null, position: string, tag: string, title: string, yiiVersion: string|null}","summary":"Runs the action.","params":[{"name":"$tag","type":"string","description":"Tag of the debug entry to expose metadata for."}],"return":{"type":"array{error: string, tag: string}|array{configUrl: string, defaultHeight: int, iconBaseUrl: string, indexUrl: string, items: list<array<string, mixed>>, logo: string|null, logoFallback: string|null, phpInfoUrl: string|null, phpVersion: string|null, position: string, tag: string, title: string, yiiVersion: string|null}","description":"Toolbar metadata, or an error envelope when the tag has rotated out."}}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","debugModule":"yii\\debug\\actions\\Action","id":"yii\\base\\Action","manifest":"yii\\debug\\actions\\Action","module":"yii\\base\\Action","summary":"yii\\debug\\actions\\Action","uniqueId":"yii\\base\\Action","viewPath":"yii\\debug\\actions\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\debug\\actions\\Action","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","createBareShellContext":"yii\\debug\\actions\\Action","createPanelRenderContext":"yii\\debug\\actions\\Action","createShellContext":"yii\\debug\\actions\\Action","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getDebugModule":"yii\\debug\\actions\\Action","getLogTarget":"yii\\debug\\actions\\Action","getMailCollector":"yii\\debug\\actions\\Action","getManifest":"yii\\debug\\actions\\Action","getModule":"yii\\base\\Action","getPanel":"yii\\debug\\actions\\Action","getUniqueId":"yii\\base\\Action","getViewPath":"yii\\debug\\actions\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","loadData":"yii\\debug\\actions\\Action","off":"yii\\base\\Component","on":"yii\\base\\Component","prepareIndexShell":"yii\\debug\\actions\\Action","prepareShell":"yii\\debug\\actions\\Action","render":"yii\\debug\\actions\\Action","renderPanelError":"yii\\debug\\actions\\Action","renderPartial":"yii\\debug\\actions\\Action","resolveStandaloneParams":"yii\\web\\Action","resolveTheme":"yii\\debug\\actions\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\actions\\ViewAction":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/viewaction/","summary":"Renders the snapshot detail page focused on one captured debug entry and panel.","extends":"yii\\debug\\actions\\Action","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"methods":{"run":{"signature":"public function run(string|null $tag = null, string|null $panel = null): string","summary":"Runs the action.","params":[{"name":"$tag","type":"string|null","default":"null","optional":true,"description":"Tag of the debug entry to render, or `null` to use the most recent one."},{"name":"$panel","type":"string|null","default":"null","optional":true,"description":"Panel ID to focus, or `null` to use the module's default panel."}],"return":{"type":"string","description":"Rendered panel view, or the rendered exception view when the panel reported an error."},"throws":[{"type":"yii\\web\\NotFoundHttpException","description":"When no debug entries are available or the resolved tag cannot be loaded."}]}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","debugModule":"yii\\debug\\actions\\Action","id":"yii\\base\\Action","manifest":"yii\\debug\\actions\\Action","module":"yii\\base\\Action","summary":"yii\\debug\\actions\\Action","uniqueId":"yii\\base\\Action","viewPath":"yii\\debug\\actions\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\debug\\actions\\Action","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","createBareShellContext":"yii\\debug\\actions\\Action","createPanelRenderContext":"yii\\debug\\actions\\Action","createShellContext":"yii\\debug\\actions\\Action","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getDebugModule":"yii\\debug\\actions\\Action","getLogTarget":"yii\\debug\\actions\\Action","getMailCollector":"yii\\debug\\actions\\Action","getManifest":"yii\\debug\\actions\\Action","getModule":"yii\\base\\Action","getPanel":"yii\\debug\\actions\\Action","getUniqueId":"yii\\base\\Action","getViewPath":"yii\\debug\\actions\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","loadData":"yii\\debug\\actions\\Action","off":"yii\\base\\Component","on":"yii\\base\\Component","prepareIndexShell":"yii\\debug\\actions\\Action","prepareShell":"yii\\debug\\actions\\Action","render":"yii\\debug\\actions\\Action","renderPanelError":"yii\\debug\\actions\\Action","renderPartial":"yii\\debug\\actions\\Action","resolveStandaloneParams":"yii\\web\\Action","resolveTheme":"yii\\debug\\actions\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\actions\\db\\ExplainAction":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/db/explainaction/","summary":"Renders the EXPLAIN plan for a single captured SQL query.","extends":"yii\\debug\\actions\\Action","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"methods":{"run":{"signature":"public function run(mixed $seq, mixed $tag, yii\\debug\\panels\\DbPanel $panel): string","summary":"Runs the action.","params":[{"name":"$seq","type":"mixed","description":"Sequence number of the captured row to explain; anything but a digit string answers `400`."},{"name":"$tag","type":"mixed","description":"Request tag whose debug snapshot holds the query; anything but a non-empty string answers `400`."},{"name":"$panel","type":"yii\\debug\\panels\\DbPanel","description":"Panel instance resolved from the debug module's service locator by the standalone-action binder."}],"return":{"type":"string","description":"Rendered view with the EXPLAIN results, or `''` for the `400` and `404` responses."}}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","debugModule":"yii\\debug\\actions\\Action","id":"yii\\base\\Action","manifest":"yii\\debug\\actions\\Action","module":"yii\\base\\Action","summary":"yii\\debug\\actions\\Action","uniqueId":"yii\\base\\Action","viewPath":"yii\\debug\\actions\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\debug\\actions\\Action","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","createBareShellContext":"yii\\debug\\actions\\Action","createPanelRenderContext":"yii\\debug\\actions\\Action","createShellContext":"yii\\debug\\actions\\Action","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getDebugModule":"yii\\debug\\actions\\Action","getLogTarget":"yii\\debug\\actions\\Action","getMailCollector":"yii\\debug\\actions\\Action","getManifest":"yii\\debug\\actions\\Action","getModule":"yii\\base\\Action","getPanel":"yii\\debug\\actions\\Action","getUniqueId":"yii\\base\\Action","getViewPath":"yii\\debug\\actions\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","loadData":"yii\\debug\\actions\\Action","off":"yii\\base\\Component","on":"yii\\base\\Component","prepareIndexShell":"yii\\debug\\actions\\Action","prepareShell":"yii\\debug\\actions\\Action","render":"yii\\debug\\actions\\Action","renderPanelError":"yii\\debug\\actions\\Action","renderPartial":"yii\\debug\\actions\\Action","resolveStandaloneParams":"yii\\web\\Action","resolveTheme":"yii\\debug\\actions\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\actions\\queue\\JobAction":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/actions/queue/jobaction/","summary":"Renders the detail page for a single captured queue record.","extends":"yii\\debug\\actions\\Action","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"methods":{"run":{"signature":"public function run(string $seq, string $tag, yii\\debug\\panels\\QueuePanel $panel): string","summary":"Runs the action.","params":[{"name":"$seq","type":"string","description":"Zero-based index of the record inside the panel's saved records array."},{"name":"$tag","type":"string","description":"Request tag whose debug snapshot holds the record."},{"name":"$panel","type":"yii\\debug\\panels\\QueuePanel","description":"Panel instance resolved from the debug module's service locator by the standalone-action binder."}],"return":{"type":"string","description":"Rendered view with the queue job details."},"throws":[{"type":"yii\\web\\HttpException","description":"When the record cannot be found for the given `seq`."}]}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","controller":"yii\\base\\Action","debugModule":"yii\\debug\\actions\\Action","id":"yii\\base\\Action","manifest":"yii\\debug\\actions\\Action","module":"yii\\base\\Action","summary":"yii\\debug\\actions\\Action","uniqueId":"yii\\base\\Action","viewPath":"yii\\debug\\actions\\Action"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\Action","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Action","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\debug\\actions\\Action","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","createBareShellContext":"yii\\debug\\actions\\Action","createPanelRenderContext":"yii\\debug\\actions\\Action","createShellContext":"yii\\debug\\actions\\Action","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getDebugModule":"yii\\debug\\actions\\Action","getLogTarget":"yii\\debug\\actions\\Action","getMailCollector":"yii\\debug\\actions\\Action","getManifest":"yii\\debug\\actions\\Action","getModule":"yii\\base\\Action","getPanel":"yii\\debug\\actions\\Action","getUniqueId":"yii\\base\\Action","getViewPath":"yii\\debug\\actions\\Action","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","loadData":"yii\\debug\\actions\\Action","off":"yii\\base\\Component","on":"yii\\base\\Component","prepareIndexShell":"yii\\debug\\actions\\Action","prepareShell":"yii\\debug\\actions\\Action","render":"yii\\debug\\actions\\Action","renderPanelError":"yii\\debug\\actions\\Action","renderPartial":"yii\\debug\\actions\\Action","resolveStandaloneParams":"yii\\web\\Action","resolveTheme":"yii\\debug\\actions\\Action","runWithParams":"yii\\base\\Action","setModule":"yii\\base\\Action","trigger":"yii\\base\\Component"}}},"yii\\debug\\collectors\\AssetCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/assetcollector/","summary":"Captures the asset bundles registered on the request for the Asset Bundles panel.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"methods":{"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the Asset Bundles panel.","return":{"type":"string","description":"Stable collector ID."}},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\Asset\\AssetSnapshot|null","summary":"Captures every application asset bundle registered during the request into the snapshot consumed by the detail view. The debug toolbar's own bundle is excluded because it is infrastructure rather than application content.","return":{"type":"PHPForge\\Debug\\Panel\\Asset\\AssetSnapshot|null","description":"Captured bundle payload; `null` when the collector never started or the application exposes no `assetManager` component."},"visibility":"protected"}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","instrument":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","start":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector","stop":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\collectors\\Collector":{"kind":"class","modifiers":["abstract"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/collector/","summary":"Base class for the Yii2 debug collectors.","implements":["PHPForge\\Debug\\CollectorInterface"],"properties":{"module":{"type":"yii\\debug\\Module|null","default":"null","description":"Debug module supplying the log target and sibling collectors, assigned by the module on registration."}},"methods":{"capture":{"signature":"final public function capture(): array<string, mixed>|null","summary":"Encodes the typed snapshot built by the subclass into the payload persisted for the panel.","return":{"type":"array<string, mixed>|null","description":"Encoded panel payload; `null` when the collector recorded nothing."}},"getLogMessages":{"signature":"protected function getLogMessages(int $levels = 0, list<string> $categories = [], list<string> $except = [], Closure(mixed): string|null $formatter = null): list<yii\\debug\\collectors\\LogTuple>","summary":"Returns the accumulated log messages, optionally filtered by level, category, and exclusion lists.","params":[{"name":"$levels","type":"int","default":"0","optional":true,"description":"Bitmask of `yii\\log\\Logger::LEVEL_*` values; `0` keeps every level."},{"name":"$categories","type":"list<string>","default":"[]","optional":true,"description":"Category patterns to include; empty keeps every category."},{"name":"$except","type":"list<string>","default":"[]","optional":true,"description":"Category patterns to exclude."},{"name":"$formatter","type":"Closure(mixed): string|null","default":"null","optional":true,"description":"Custom payload formatter; defaults to a readable string export."}],"return":{"type":"list<yii\\debug\\collectors\\LogTuple>","description":"Canonical string-based log messages in capture order."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the debug module log target is not initialized."}],"visibility":"protected"},"getLogTarget":{"signature":"protected function getLogTarget(): yii\\debug\\LogTarget","summary":"Returns the initialized log target of the owning debug module.","return":{"type":"yii\\debug\\LogTarget","description":"Initialized log target."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the debug module log target is not initialized."}],"visibility":"protected"},"instrument":{"signature":"public function instrument(): void","summary":"Installs low-level instrumentation as soon as the module registers the collector, before the panels are built.","return":{"type":"void"}},"isStarted":{"signature":"protected function isStarted(): bool","summary":"Returns whether the collector is active for the current request.","return":{"type":"bool","description":"`true` while the collector is active for the request; `false` otherwise."},"visibility":"protected"},"shutdown":{"signature":"final public function shutdown(): void","summary":"Deactivates the collector once, releasing any subscription created by `start()`.","return":{"type":"void"}},"snapshot":{"signature":"abstract protected function snapshot(): PHPForge\\Debug\\Storage\\PanelSnapshot|null","summary":"Builds the typed snapshot for the current request.","return":{"type":"PHPForge\\Debug\\Storage\\PanelSnapshot|null","description":"Typed payload, or `null` when the collector recorded nothing."},"visibility":"protected","abstract":true},"start":{"signature":"protected function start(): void","summary":"Hook invoked once when the collector activates; subclasses subscribe to framework events here.","return":{"type":"void"},"visibility":"protected"},"startup":{"signature":"final public function startup(): void","summary":"Activates the collector once at the start of the request lifecycle.","return":{"type":"void"}},"stop":{"signature":"protected function stop(): void","summary":"Hook invoked once when the collector deactivates; subclasses detach subscriptions and clear state here.","return":{"type":"void"},"visibility":"protected"}}},"yii\\debug\\collectors\\ConfigCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/configcollector/","summary":"Captures the application configuration and runtime environment for the Configuration panel.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"methods":{"getApplication":{"signature":"protected function getApplication(): object|null","summary":"Returns the active application instance, or `null` when the framework slot does not contain an object.","return":{"type":"object|null","description":"Active application, or `null` when the framework slot holds no object."},"visibility":"protected"},"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the Configuration panel.","return":{"type":"string","description":"Stable collector ID."}},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\Config\\ConfigSnapshot|null","summary":"Snapshots the framework/PHP/application identity and the installed-extensions roster.","return":{"type":"PHPForge\\Debug\\Panel\\Config\\ConfigSnapshot|null","description":"Captured configuration payload; `null` when the collector never started."},"visibility":"protected"}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","instrument":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","start":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector","stop":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\collectors\\DbCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/dbcollector/","summary":"Captures every database query emitted during the request for the Database panel.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"properties":{"db":{"type":"string","default":"'db'","description":"Application component id of the DB connection whose prepared statements are instrumented."},"dbEventNames":{"type":"list<string>","default":"['yii\\db\\Command::query', 'yii\\db\\Command::execute']","description":"Profile log categories scanned for query timings."},"excessiveCallerThreshold":{"type":"int|null","default":"null","description":"Number of DB calls the same backtrace can make before being flagged as an \"Excessive Caller\". `null` disables the check."},"ignoredPathsInBacktrace":{"type":"list<string>","default":"[]","description":"Paths whose backtrace frames are skipped when determining the \"Caller\"."}},"methods":{"calculateTimings":{"signature":"public function calculateTimings(): array<int, array{info: string, category: string, timestamp: float, trace: array<int, array<string, mixed>>, level: int, duration: float, memory: int, memoryDiff: int, traceHash: string}>","summary":"Calculates and caches the per-query timings for the request, dropping backtrace frames that match `$ignoredPathsInBacktrace` and tagging each timing with a stable hash of its remaining trace.","return":{"type":"array<int, array{info: string, category: string, timestamp: float, trace: array<int, array<string, mixed>>, level: int, duration: float, memory: int, memoryDiff: int, traceHash: string}>","description":"Timings indexed sequentially, each carrying the SQL token, category, capture timestamp, trace, nesting level, duration, memory snapshots, and trace hash."}},"countCallerCals":{"signature":"public function countCallerCals(): array<string, int>","summary":"Counts how many times the same backtrace originated a DB query.","return":{"type":"array<string, int>","description":"Call counts indexed by the backtrace hash of the caller."}},"getExcessiveCallers":{"signature":"public function getExcessiveCallers(): array<string, int>","summary":"Returns the call counts for backtraces that issued at least `$excessiveCallerThreshold` queries.","return":{"type":"array<string, int>","description":"Call counts indexed by the backtrace hash of each excessive caller; empty when the check is disabled."}},"getExcessiveCallersCount":{"signature":"public function getExcessiveCallersCount(): int","summary":"Returns the number of distinct backtraces flagged as excessive callers.","return":{"type":"int","description":"Number of distinct backtraces that issued at least the threshold number of queries."}},"getProfileLogs":{"signature":"public function getProfileLogs(): list<yii\\debug\\collectors\\LogTuple>","summary":"Returns the profile log entries scanned for query timings (categories listed in `$dbEventNames`).","return":{"type":"list<yii\\debug\\collectors\\LogTuple>","description":"Profile log entries in capture order."}},"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the Database panel.","return":{"type":"string","description":"Stable collector ID."}},"instrument":{"signature":"public function instrument(): void","summary":"Installs the `yii\\debug\\db\\DebugPdoStatement` class on every DB connection so each prepared statement records its `rowCount()`.","return":{"type":"void"}},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\Db\\DbSnapshot|null","summary":"Resolves the logger timings into typed query rows and snapshots them.","return":{"type":"PHPForge\\Debug\\Panel\\Db\\DbSnapshot|null","description":"Captured query payload; `null` when the collector never started."},"visibility":"protected"},"start":{"signature":"protected function start(): void","summary":"Resets the per-request caches, binds the row-count window to the current request tag, and installs the statement hook through `instrument()` when the module has not already done so.","return":{"type":"void"},"visibility":"protected"},"stop":{"signature":"protected function stop(): void","summary":"Detaches the class-level after-open listener and clears the per-request caches, so a reused worker process starts clean.","return":{"type":"void"},"visibility":"protected"}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\collectors\\DumpCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/dumpcollector/","summary":"Captures trace-level log messages emitted by `Yii::debug()` for the Dump panel.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"properties":{"categories":{"type":"list<string>","default":"['application']","description":"Message categories to capture; an empty list captures every category."},"depth":{"type":"int","default":"10","description":"Maximum recursion depth applied by the dumper."},"highlight":{"type":"bool","default":"true","description":"Whether the rendered dump should be syntax-highlighted."},"varDumpCallback":{"type":"Closure(mixed, self): string|null","default":"null","description":"Callback that replaces the built-in `yii\\helpers\\VarDumper` rendering when set."}},"methods":{"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the Dump panel.","return":{"type":"string","description":"Stable collector ID."}},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\Dump\\DumpSnapshot|null","summary":"Captures the trace-level messages allowed by `$categories`, excluding the categories owned by the Router collector, and pre-renders each captured value through `varDump()`.","return":{"type":"PHPForge\\Debug\\Panel\\Dump\\DumpSnapshot|null","description":"Captured dump payload; `null` when the collector never started."},"visibility":"protected"},"varDump":{"signature":"public function varDump(mixed $var): string","summary":"Renders a captured value as a display string.","params":[{"name":"$var","type":"mixed","description":"Value passed to `Yii::debug()`."}],"return":{"type":"string","description":"Display string safe to embed in the dump card."}}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","instrument":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","start":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector","stop":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\collectors\\EventCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/eventcollector/","summary":"Captures framework events reaching the global listener during the request for the Events panel.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"properties":{"captureContext":{"type":"bool","default":"false","description":"Opt-in capture of selected action/view metadata; event values and rendered output are never dumped."},"traceLimit":{"type":"int","default":"0","description":"Opt-in argument-free trace depth; zero disables capture, and sixteen is the hard maximum."}},"methods":{"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the Events panel.","return":{"type":"string","description":"Stable collector ID."}},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\Event\\EventSnapshot|null","summary":"Returns the captured events as a typed snapshot.","return":{"type":"PHPForge\\Debug\\Panel\\Event\\EventSnapshot|null","description":"Captured event payload; `null` when the collector never started."},"visibility":"protected"},"start":{"signature":"protected function start(): void","summary":"Registers the wildcard event listener that records every fired event into `yii\\debug\\collectors\\EventCollector::$events`.","return":{"type":"void"},"visibility":"protected"},"stop":{"signature":"protected function stop(): void","summary":"Detaches the wildcard listener and clears the accumulated events, so a reused worker process starts clean.","return":{"type":"void"},"visibility":"protected"}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","instrument":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\collectors\\LogCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/logcollector/","summary":"Captures error, warning, info, and trace log messages emitted during the request for the Logs panel.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"methods":{"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the Logs panel.","return":{"type":"string","description":"Stable collector ID."}},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\Log\\LogSnapshot|null","summary":"Captures every error/warning/info/trace log message, excluding the categories owned by the Router collector.","return":{"type":"PHPForge\\Debug\\Panel\\Log\\LogSnapshot|null","description":"Captured log payload; `null` when the collector never started."},"visibility":"protected"}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","instrument":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","start":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector","stop":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\collectors\\MailCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/mailcollector/","summary":"Captures every mail message dispatched during the request for the Mail panel.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"properties":{"mailPath":{"type":"string","default":"'@runtime/debug/mail'","description":"Filesystem path (Yii alias) where every captured message is persisted as a `.eml` file."}},"methods":{"getMessagesFileName":{"signature":"public function getMessagesFileName(): array<int, string>","summary":"Returns the file names of the captured `.eml` files persisted under `$mailPath`.","return":{"type":"array<int, string>","description":"File names in send order."}},"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the Mail panel.","return":{"type":"string","description":"Stable collector ID."}},"reconcileFiles":{"signature":"public function reconcileFiles(iterable<string> $referencedFiles): void","summary":"Retries cleanup of aged `.eml` files no longer referenced by a retained snapshot.","params":[{"name":"$referencedFiles","type":"iterable<string>","description":"File names referenced by the current manifest."}],"return":{"type":"void"}},"removeFiles":{"signature":"public function removeFiles(iterable<string> $files): void","summary":"Removes safe captured files associated with snapshots that were not committed or have been evicted.","params":[{"name":"$files","type":"iterable<string>","description":"Captured file names."}],"return":{"type":"void"}},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\Mail\\MailSnapshot|null","summary":"Snapshots the captured messages, with their metadata (time, reply, bcc, cc, from, to, subject, headers, etc.).","return":{"type":"PHPForge\\Debug\\Panel\\Mail\\MailSnapshot|null","description":"Captured mail payload; `null` when the collector never started."},"visibility":"protected"},"start":{"signature":"protected function start(): void","summary":"Registers the mailer listener that persists each dispatched message and records its metadata.","return":{"type":"void"},"visibility":"protected"},"stop":{"signature":"protected function stop(): void","summary":"Detaches the mailer listener and clears the captured messages, so a reused worker process starts clean.","return":{"type":"void"},"visibility":"protected"}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","instrument":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\collectors\\ProfilingCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/profilingcollector/","summary":"Captures profile-level log messages emitted by `Yii::beginProfile()` for the Profiling panel.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"methods":{"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the Profiling panel.","return":{"type":"string","description":"Stable collector ID."}},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\Profile\\ProfilingSnapshot|null","summary":"Snapshots the captured profile messages, the peak memory usage, and the total request time.","return":{"type":"PHPForge\\Debug\\Panel\\Profile\\ProfilingSnapshot|null","description":"Captured profiling payload; `null` when the collector never started."},"visibility":"protected"}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","instrument":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","start":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector","stop":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\collectors\\QueueCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/queuecollector/","summary":"Captures every queue lifecycle event (`afterPush`, `afterExec`, `afterError`) emitted by any class extending `yii\\queue\\Queue` from `yiisoft/yii2-queue`.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"properties":{"redactedProperties":{"type":"list<string>","default":"['accessToken', 'apiKey', 'authorization', 'password', 'refreshToken', 'secret', 'token']","description":"Public job-property names whose values are replaced before snapshot persistence."}},"methods":{"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the Queue panel.","return":{"type":"string","description":"Stable collector ID."}},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\Queue\\QueueSnapshot|null","summary":"Snapshots the captured queue records.","return":{"type":"PHPForge\\Debug\\Panel\\Queue\\QueueSnapshot|null","description":"Captured queue payload; `null` when the collector never started."},"visibility":"protected"},"start":{"signature":"protected function start(): void","summary":"Subscribes to the four queue lifecycle events (`afterPush`, `beforeExec`, `afterExec`, `afterError`).","return":{"type":"void"},"visibility":"protected"},"stop":{"signature":"protected function stop(): void","summary":"Detaches the queue listeners and clears the accumulated state, so a reused worker process starts clean.","return":{"type":"void"},"visibility":"protected"}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","instrument":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\collectors\\RequestCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/requestcollector/","summary":"Captures the HTTP request and response state for the Request panel.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"properties":{"censoredVariableNames":{"type":"array<int, string>","default":"[]","description":"Variable names whose values should be replaced with `$censorString` in the captured snapshot."},"censorString":{"type":"string","default":"'****'","description":"Replacement value emitted for variables listed in `$censoredVariableNames`."},"displayVars":{"type":"array<int, string>","default":"['_COOKIE', '_FILES', '_GET', '_POST', '_SERVER', '_SESSION']","description":"PHP predefined variables that the collector may surface."}},"methods":{"censorArray":{"signature":"protected function censorArray(array<string, mixed> $data): array<string, mixed>","summary":"Replaces the values of any `$censoredVariableNames` entries with `$censorString`, returning the sanitized top-level data.","params":[{"name":"$data","type":"array<string, mixed>","description":"Captured request payload."}],"return":{"type":"array<string, mixed>","description":"Sanitized payload with masked values."},"visibility":"protected"},"getFlashes":{"signature":"protected function getFlashes(): array<int|string, mixed>","summary":"Returns the active flash messages without deleting them or touching the deletion counters.","return":{"type":"array<int|string, mixed>","description":"Flash messages keyed by their session flash name."},"visibility":"protected"},"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the Request panel.","return":{"type":"string","description":"Stable collector ID."}},"normalizeResponseHeaders":{"signature":"protected function normalizeResponseHeaders(array<int, string> $rawHeaders): array<int|string, array<int, string>|string>","summary":"Aggregates a raw response-header list into a name → value map, merging duplicates into arrays and masking entries whose name appears in `$censoredVariableNames`.","params":[{"name":"$rawHeaders","type":"array<int, string>","description":"Header lines in `Name: value` form, as returned by `headers_list()`; bare strings without a colon are kept verbatim at int-keyed slots."}],"return":{"type":"array<int|string, array<int, string>|string>","description":"Aggregated header map with masked values."},"visibility":"protected"},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\Request\\RequestSnapshot|null","summary":"Snapshots the request/response state: action, route, headers, body, status code, flash messages, and the configured superglobals.","return":{"type":"PHPForge\\Debug\\Panel\\Request\\RequestSnapshot|null","description":"Captured request payload; `null` when the collector never started."},"visibility":"protected"}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","instrument":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","start":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector","stop":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\collectors\\RouterCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/routercollector/","summary":"Captures the routing trace of the request for the Router panel.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"methods":{"getCategories":{"signature":"public function getCategories(): list<string>","summary":"Returns the log categories scanned for routing trace messages.","return":{"type":"list<string>","description":"Category names in declaration order."}},"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the Router panel.","return":{"type":"string","description":"Stable collector ID."}},"setCategories":{"signature":"public function setCategories(list<string>|string $values): void","summary":"Appends one or more log categories to `yii\\debug\\collectors\\RouterCollector::$categories`.","params":[{"name":"$values","type":"list<string>|string","description":"Single category, or list of categories."}],"return":{"type":"void"}},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\Router\\RouterSnapshot|null","summary":"Snapshots the routing trace, the resolved route, and the dispatched action.","return":{"type":"PHPForge\\Debug\\Panel\\Router\\RouterSnapshot|null","description":"Captured routing payload; `null` when the collector never started."},"visibility":"protected"}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","instrument":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","start":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector","stop":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\collectors\\UserCollector":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/collectors/usercollector/","summary":"Captures the authenticated identity for the User panel.","extends":"yii\\debug\\collectors\\Collector","implements":["PHPForge\\Debug\\CollectorInterface"],"properties":{"userComponent":{"type":"string|yii\\web\\User","default":"'user'","description":"Component id of the user component, or a `yii\\web\\User` instance to operate on directly."}},"methods":{"dataToString":{"signature":"protected function dataToString(mixed $data): string","summary":"Returns the value when it is already a string, otherwise renders it with `yii\\helpers\\VarDumper::export()`.","params":[{"name":"$data","type":"mixed","description":"Captured identity value."}],"return":{"type":"string","description":"Display string for the User panel."},"visibility":"protected"},"getUser":{"signature":"protected function getUser(): yii\\web\\User|null","summary":"Returns the user component bound to this collector, or `null` when the configured component id does not resolve to a `yii\\web\\User` instance.","return":{"type":"yii\\web\\User|null","description":"Bound user component, or `null` when the configured id does not resolve to one."},"visibility":"protected"},"id":{"signature":"public function id(): string","summary":"Returns the stable ID pairing this collector with the User panel.","return":{"type":"string","description":"Stable collector ID."}},"identityData":{"signature":"protected function identityData(yii\\web\\IdentityInterface $identity): array<string, mixed>","summary":"Returns the identity attributes as a string-keyed map suitable for `yii\\widgets\\DetailView::$model`.","params":[{"name":"$identity","type":"yii\\web\\IdentityInterface","description":"Active identity object."}],"return":{"type":"array<string, mixed>","description":"Attribute map ready to feed the detail view."},"visibility":"protected"},"snapshot":{"signature":"protected function snapshot(): PHPForge\\Debug\\Panel\\User\\UserSnapshot|null","summary":"Snapshots the identity attributes, the RBAC roles, and the permissions for the active user.","return":{"type":"PHPForge\\Debug\\Panel\\User\\UserSnapshot|null","description":"Captured identity or Guest payload; `null` when the collector never started or the user component cannot be resolved."},"visibility":"protected"}},"inherited":{"properties":{"module":"yii\\debug\\collectors\\Collector"},"methods":{"capture":"yii\\debug\\collectors\\Collector","getLogMessages":"yii\\debug\\collectors\\Collector","getLogTarget":"yii\\debug\\collectors\\Collector","instrument":"yii\\debug\\collectors\\Collector","isStarted":"yii\\debug\\collectors\\Collector","shutdown":"yii\\debug\\collectors\\Collector","start":"yii\\debug\\collectors\\Collector","startup":"yii\\debug\\collectors\\Collector","stop":"yii\\debug\\collectors\\Collector"}}},"yii\\debug\\db\\DebugPdoStatement":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/db/debugpdostatement/","summary":"Records the row count produced by every executed prepared statement.","extends":"PDOStatement","properties":{"rowCounts":{"type":"list<int|null>","default":"[]","description":"Row count per executed statement, appended in execution order; `null` marks a statement whose execution threw, so later statements keep their sequence position.","static":true}},"methods":{"__construct":{"signature":"protected function __construct()","summary":"Visibility is `protected` because `PDO::ATTR_STATEMENT_CLASS` requires it; callers must not instantiate the class outside of the PDO factory.","visibility":"protected"},"execute":{"signature":"public function execute(array<int|string, mixed>|null $params = null): bool","summary":"Executes the prepared statement and records its row count in `yii\\debug\\db\\DebugPdoStatement::$rowCounts`.","params":[{"name":"$params","type":"array<int|string, mixed>|null","default":"null","optional":true,"description":"Values bound to the statement placeholders, if any."}],"return":{"type":"bool","description":"`true` on success, `false` on failure."},"throws":[{"type":"PDOException","description":"When the driver rejects the statement in `PDO::ERRMODE_EXCEPTION` mode."}]}}},"yii\\debug\\exception\\Message":{"kind":"enum","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/exception/message/","summary":"Defines exception message templates used by the Yii debug adapter.","backingType":"string","cases":{"ACCESS_DENIED":{"value":"'You are not allowed to access this page.'","description":"Access to the requested debug page is denied."},"ACCESS_DENIED_BY_CALLBACK":{"value":"'Access to debugger is denied due to checkAccessCallback.'","description":"Access to the debugger is denied by the configured callback."},"ACTIVE_SESSION_REQUIRED":{"value":"'Need an active session'","description":"An active session is required."},"CAPTURED_MAIL_FILE_MODE_FAILED":{"value":"'Unable to apply mode to captured mail file: %s'","description":"The mode cannot be applied to a captured mail file."},"CAPTURED_MAIL_FILE_NAME_INVALID":{"value":"'Invalid captured mail file name: %s'","description":"A captured mail file name is invalid."},"CAPTURED_MAIL_FILE_PERSIST_FAILED":{"value":"'Unable to persist captured mail file: %s'","description":"A captured mail file cannot be persisted."},"COLLECTOR_CLASS_INVALID":{"value":"'Debug collector configuration must declare a valid class name.'","description":"The collector configuration lacks a valid class name."},"COLLECTOR_ENABLED_INVALID":{"value":"\"Debug collector '%s' must declare 'enabled' as a boolean.\"","description":"A collector entry declares a non-boolean `enabled` flag."},"COLLECTOR_INTERFACE_INVALID":{"value":"'Debug collector class must implement %s: %s.'","description":"The configured collector does not implement the required interface."},"COLLECTORS_NOT_INITIALIZED":{"value":"'Debug collectors have not been initialized.'","description":"The debug collectors have not been initialized."},"CSRF_VALIDATION_FAILED":{"value":"'Unable to verify your data submission.'","description":"CSRF validation has failed."},"DB_COMPONENT_INVALID":{"value":"\"Application component '%s' must be a DB connection.\"","description":"An application component is not a database connection."},"DEBUG_ACTION_MODULE_INVALID":{"value":"'Debug actions must be dispatched through the debug module.'","description":"A debug action is dispatched through an incompatible module."},"DEBUG_DATA_EMPTY":{"value":"'No debug data have been collected yet, try browsing the website first.'","description":"No debug data have been collected."},"DEBUG_DATA_NOT_FOUND":{"value":"\"Unable to find debug data tagged with '%s'.\"","description":"Debug data cannot be found for a tag."},"DEBUG_DATA_SUMMARY_MISSING":{"value":"\"Debug data tagged with '%s' does not contain summary data.\"","description":"Tagged debug data omit the summary payload."},"DEBUG_DATA_SUMMARY_UNAVAILABLE":{"value":"\"Debug data tagged with '%s' has no summary.\"","description":"A summary is unavailable for tagged debug data."},"DEBUG_PANEL_NOT_FOUND":{"value":"\"Debug panel '%s' not found.\"","description":"A requested debug panel cannot be found."},"DEBUG_TAG_NOT_FOUND":{"value":"'Debug tag not found.'","description":"The requested capture tag cannot be resolved."},"DISPATCHER_COLLECTOR_NOT_DISPATCHER":{"value":"\"Debug collector '%s' must implement %s to be handed to a component as its dispatcher.\"","description":"A `dispatchers` entry names a collector that cannot act as a PSR-14 dispatcher."},"DISPATCHER_COLLECTOR_UNKNOWN":{"value":"\"Debug dispatcher '%s' names no configured collector.\"","description":"A `dispatchers` entry names a collector that is neither registered nor disabled."},"DISPATCHER_COMPONENT_INSTANTIATED":{"value":"\"Application component '%s' is already instantiated and exposes no writable 'eventDispatcher' property.\"","description":"A `dispatchers` entry targets a component that is already built and has no writable dispatcher property."},"DISPATCHER_COMPONENT_UNKNOWN":{"value":"\"Debug dispatcher '%s' targets the unknown application component '%s'.\"","description":"A `dispatchers` entry targets a component the application does not declare."},"DISPATCHER_TARGET_UNSUPPORTED":{"value":"\"Application component '%s' must be a class name or configuration array declaring an 'eventDispatcher' \" . 'property or constructor parameter.'","description":"A `dispatchers` entry targets a component definition that cannot take the collector."},"IDENTITY_CLASS_NOT_CONFIGURED":{"value":"'User component is not configured with an identity class.'","description":"The user component lacks an identity class."},"IDENTITY_NOT_FOUND":{"value":"'Identity not found.'","description":"The requested identity cannot be found."},"IDENTITY_REQUIRED_FOR_SWITCH":{"value":"'Cannot switch to a user without an attached identity.'","description":"User switching requires an attached identity."},"LOG_MESSAGE_NOT_FOUND":{"value":"'Log message not found.'","description":"A requested log message cannot be found."},"LOG_TARGET_CLASS_INVALID":{"value":"'Debug module logTarget configuration must declare a valid class name.'","description":"The log target configuration lacks a valid class name."},"LOG_TARGET_INSTANCE_INVALID":{"value":"'Debug module logTarget must resolve to a yii\\debug\\LogTarget instance.'","description":"The configured log target resolves to an incompatible instance."},"LOG_TARGET_NOT_BOOTSTRAPPED":{"value":"'Debug module logTarget has not been bootstrapped; call Module::bootstrap() first.'","description":"The debug module log target has not been bootstrapped."},"LOG_TARGET_NOT_INITIALIZED_FOR_LOADING":{"value":"'The debug module logTarget must be initialized before loading debug data.'","description":"The log target is unavailable for loading debug data."},"LOG_TARGET_NOT_INITIALIZED_FOR_READING":{"value":"'The debug module logTarget must be initialized before reading log messages.'","description":"The log target is unavailable for reading log messages."},"MAIL_COLLECTOR_NOT_FOUND":{"value":"'Mail collector not found.'","description":"The mail collector cannot be found."},"MAIL_FILE_NOT_FOUND":{"value":"'Mail file not found'","description":"A requested captured mail file cannot be found."},"PANEL_CLASS_INVALID":{"value":"\"Debug panel '%s' configuration must declare a valid class name.\"","description":"A panel configuration lacks a resolvable class name."},"PANEL_ID_DUPLICATE":{"value":"'Duplicate debug panel ID: %s.'","description":"A registration ID is declared twice."},"PANEL_INSTANCE_INVALID":{"value":"\"Debug panel '%s' must resolve to a %s instance: %s.\"","description":"A panel configuration resolves to an object outside the panel contract."},"PANEL_METADATA_OVERRIDE_UNSUPPORTED":{"value":"\"Debug panel '%s' registration options 'title' and 'icon' apply to portable panels only.\"","description":"A title or icon override targets a panel that renders its own metadata."},"PANEL_PAYLOAD_EXPECTED":{"value":"'a payload supported by this panel'","description":"A panel receives an unsupported hydration payload."},"PANELS_NOT_INITIALIZED":{"value":"'Debug panels have not been initialized.'","description":"The debug panels have not been initialized."},"PORTABLE_PANEL_NOT_HYDRATED":{"value":"'No portable panel capture has been hydrated.'","description":"A portable panel is rendered before any capture was hydrated into it."},"POST_ONLY":{"value":"'Only POST requests are allowed.'","description":"The request must use the POST method."},"PROVIDER_ID_MISMATCH":{"value":"'The debug %s registration ID must match its provider.'","description":"A configured registration ID does not match the provider it wraps."},"PROVIDER_PANEL_REQUIRED":{"value":"'A declarative debug panel provider must be configured.'","description":"A provider-backed panel is used without its declarative provider."},"QUEUE_JOB_RECORD_NOT_FOUND":{"value":"'Queue job record not found.'","description":"A requested queue job record cannot be found."},"REQUIRED_SERVICE_NOT_FOUND":{"value":"'Could not load required service: %s'","description":"Yii cannot resolve a required action service."},"SEARCH_MODEL_REQUIRED":{"value":"'%s::$searchModel must be set.'","description":"A filter banner lacks its required search model."},"SERVICE_INSTANCE_INVALID":{"value":"'Debug module service must resolve to a %s instance.'","description":"A module service definition resolves to an object outside the service contract."},"SHELL_CONTEXT_REQUIRED":{"value":"'The debug layout requires a ShellContext.'","description":"The debug layout lacks its required shell context."},"TOOLBAR_ENVELOPE_INVALID":{"value":"\"Debug panel '%s' returned an invalid toolbar envelope: '%s'.\"","description":"A panel toolbar envelope breaks the typed toolbar contract."},"USER_COMPONENT_INVALID":{"value":"\"Application component '%s' must be a 'yii\\\\web\\\\User' instance.\"","description":"An application component is not a Yii web user instance."},"USER_FILTER_MODEL_INVALID":{"value":"'User filter model must implement %s.'","description":"The user filter model does not implement the required interface."},"USER_ID_INVALID":{"value":"'Invalid user_id parameter.'","description":"A supplied user identifier is invalid."},"USER_SWITCH_MODULE_REQUIRED":{"value":"'Unable to configure user switching without a debug module.'","description":"User switching cannot be configured without a debug module."},"YII_LOGO_UNREADABLE":{"value":"'Unable to read the packaged Yii logo.'","description":"The packaged Yii logo cannot be read."}},"methods":{"getMessage":{"signature":"public function getMessage(int|string ...$argument): string","summary":"Formats the message template with the supplied arguments.","params":[{"name":"$argument","type":"int|string","optional":true,"variadic":true,"description":"Values inserted into the template."}],"return":{"type":"string","description":"Formatted exception message."}}}},"yii\\debug\\models\\UserSwitch":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/userswitch/","summary":"Backs the user-impersonation workflow by swapping the active session identity to another user.","extends":"yii\\base\\Model","implements":["yii\\base\\StaticInstanceInterface","IteratorAggregate","ArrayAccess","yii\\base\\Arrayable","yii\\base\\Configurable"],"traits":["yii\\base\\ArrayableTrait","yii\\base\\StaticInstanceTrait"],"properties":{"mainUser":{"type":"yii\\web\\User","description":"User component carrying the original identity.","access":"read-only","virtual":true},"user":{"type":"yii\\web\\User","description":"Bound user component.","virtual":true},"userByIdentity":{"type":"yii\\web\\IdentityInterface","description":"Identity to impersonate.","access":"write-only","virtual":true},"userComponent":{"type":"string|yii\\web\\User","default":"'user'","description":"Component ID of the user component, or a `yii\\web\\User` instance to operate on directly."}},"methods":{"attributeLabels":{"signature":"public function attributeLabels(): array<string, string>","summary":"Returns the labels shown for the switch form attributes.","return":{"type":"array<string, string>","description":"Form labels keyed by attribute name."}},"getMainUser":{"signature":"public function getMainUser(): yii\\web\\User","summary":"Returns the main user; the original identity captured on the first switch.","return":{"type":"yii\\web\\User","description":"User component carrying the original identity."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the user component cannot be resolved."}]},"getUser":{"signature":"public function getUser(): yii\\web\\User","summary":"Returns the user component bound to this switch model, resolving it lazily on first call.","return":{"type":"yii\\web\\User","description":"Bound user component."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the configured component ID does not resolve to a `yii\\web\\User` instance."}]},"isMainUser":{"signature":"public function isMainUser(): bool","summary":"Returns whether the current identity is the main user (or a guest).","return":{"type":"bool","description":"`true` when the session runs as the main user or as a guest; `false` while impersonating."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the user component cannot be resolved."}]},"reset":{"signature":"public function reset(): void","summary":"Restores the session to the main user captured before the first switch.","return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the user component cannot be resolved."}]},"rules":{"signature":"public function rules(): array<int, array<int|string, mixed>>","summary":"Declares the validation rules applied to the switch form.","return":{"type":"array<int, array<int|string, mixed>>","description":"Validation rules consumed by `yii\\base\\Model::validate()`."}},"setUser":{"signature":"public function setUser(yii\\web\\User $user): void","summary":"Switches the session to the given user and tracks the main user id when impersonating.","params":[{"name":"$user","type":"yii\\web\\User","description":"User component carrying the identity to switch to."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the user component cannot be resolved."},{"type":"RuntimeException","description":"when the supplied user has no identity attached."}]},"setUserByIdentity":{"signature":"public function setUserByIdentity(yii\\web\\IdentityInterface $identity): void","summary":"Switches the session to the user identified by `$identity`.","params":[{"name":"$identity","type":"yii\\web\\IdentityInterface","description":"Identity to impersonate."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the user component cannot be resolved."}]}},"inherited":{"properties":{"activeValidators":"yii\\base\\Model","attributes":"yii\\base\\Model","behaviors":"yii\\base\\Component","errors":"yii\\base\\Model","firstErrors":"yii\\base\\Model","iterator":"yii\\base\\Model","scenario":"yii\\base\\Model","validators":"yii\\base\\Model"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Model","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","activeAttributes":"yii\\base\\Model","addError":"yii\\base\\Model","addErrors":"yii\\base\\Model","afterValidate":"yii\\base\\Model","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","attributeHints":"yii\\base\\Model","attributes":"yii\\base\\Model","beforeValidate":"yii\\base\\Model","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clearErrors":"yii\\base\\Model","createValidators":"yii\\base\\Model","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","extractFieldsFor":"yii\\base\\ArrayableTrait","extractRootFields":"yii\\base\\ArrayableTrait","extraFields":"yii\\base\\ArrayableTrait","fields":"yii\\base\\Model","formName":"yii\\base\\Model","generateAttributeLabel":"yii\\base\\Model","getActiveValidators":"yii\\base\\Model","getAttributeHint":"yii\\base\\Model","getAttributeLabel":"yii\\base\\Model","getAttributes":"yii\\base\\Model","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getErrors":"yii\\base\\Model","getErrorSummary":"yii\\base\\Model","getFirstError":"yii\\base\\Model","getFirstErrors":"yii\\base\\Model","getIterator":"yii\\base\\Model","getScenario":"yii\\base\\Model","getValidators":"yii\\base\\Model","hasErrors":"yii\\base\\Model","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","instance":"yii\\base\\StaticInstanceTrait","isAttributeActive":"yii\\base\\Model","isAttributeRequired":"yii\\base\\Model","isAttributeSafe":"yii\\base\\Model","load":"yii\\base\\Model","loadMultiple":"yii\\base\\Model","off":"yii\\base\\Component","offsetExists":"yii\\base\\Model","offsetGet":"yii\\base\\Model","offsetSet":"yii\\base\\Model","offsetUnset":"yii\\base\\Model","on":"yii\\base\\Component","onUnsafeAttribute":"yii\\base\\Model","resolveFields":"yii\\base\\ArrayableTrait","safeAttributes":"yii\\base\\Model","scenarios":"yii\\base\\Model","setAttributes":"yii\\base\\Model","setScenario":"yii\\base\\Model","toArray":"yii\\base\\ArrayableTrait","trigger":"yii\\base\\Component","validate":"yii\\base\\Model","validateMultiple":"yii\\base\\Model"},"constants":{"SCENARIO_DEFAULT":"yii\\base\\Model"},"events":{"EVENT_BEFORE_VALIDATE":"yii\\base\\Model","EVENT_AFTER_VALIDATE":"yii\\base\\Model"}}},"yii\\debug\\models\\router\\ActionRoutes":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/router/actionroutes/","summary":"Discovers every controller action reachable from the running application and pairs it with its matching URL rule.","extends":"yii\\base\\Model","implements":["yii\\base\\StaticInstanceInterface","IteratorAggregate","ArrayAccess","yii\\base\\Arrayable","yii\\base\\Configurable"],"traits":["yii\\base\\ArrayableTrait","yii\\base\\StaticInstanceTrait"],"properties":{"routes":{"type":"array<string, array{route: string, rule: string|null, count: int}>","default":"[]","description":"Discovered actions keyed by display name, each carrying its route, matched URL rule (or `null`), and the number of rules scanned."}},"methods":{"getActions":{"signature":"protected function getActions(ReflectionClass<yii\\base\\Controller> $controller): list<non-empty-string>","summary":"Returns the action method names declared on the given controller, plus a sentinel when it overrides `actions()`.","params":[{"name":"$controller","type":"ReflectionClass<yii\\base\\Controller>","description":"Reflection over the target controller class."}],"return":{"type":"list<non-empty-string>","description":"Action method names (`actionFoo`), or `__ACTIONS__` for controllers that declare external actions."},"visibility":"protected"},"getAppRoutes":{"signature":"protected function getAppRoutes(): array<string, array{class: class-string<yii\\base\\Controller>, actions: list<non-empty-string>}>","summary":"Returns every web/REST controller reachable from the application, grouped by controller ID.","return":{"type":"array<string, array{class: class-string<yii\\base\\Controller>, actions: list<non-empty-string>}>","description":"Controllers keyed by ID, each carrying its FQCN and the action method names it exposes."},"throws":[{"type":"ReflectionException","description":"when a controller class fails to reflect."}],"visibility":"protected"},"getMatchedCreationRule":{"signature":"protected function getMatchedCreationRule(string $route): array{0: string|null, 1: int}","summary":"Returns the first URL rule name that successfully creates a URL for the given route.","params":[{"name":"$route","type":"string","description":"Route to test against every configured URL rule."}],"return":{"type":"array{0: string|null, 1: int}","description":"Matching rule name (or `null` when no rule matches) and the number of rules actually scanned before deciding."},"visibility":"protected"},"getModuleControllers":{"signature":"protected function getModuleControllers(yii\\base\\Module $module): array<string, class-string<yii\\base\\Controller>>","summary":"Returns every controller available in the given module (and recursively its child modules).","params":[{"name":"$module","type":"yii\\base\\Module","description":"Module to scan, including its child modules."}],"return":{"type":"array<string, class-string<yii\\base\\Controller>>","description":"Controller class names indexed by route prefix."},"throws":[{"type":"ReflectionException","description":"when a controller class fails to reflect."}],"visibility":"protected"},"init":{"signature":"public function init(): void","summary":"Scans the application on construction so the view model is ready before the panel renders.","return":{"type":"void"}},"validateControllerClass":{"signature":"protected function validateControllerClass(string $controllerClass): bool","summary":"Returns whether the given class is a concrete `yii\\web\\Controller` or `yii\\rest\\Controller` subclass.","params":[{"name":"$controllerClass","type":"string","description":"Fully qualified class name to validate."}],"return":{"type":"bool","description":"`true` when the class is loadable, non-abstract, and extends a web/REST controller, `false` otherwise."},"throws":[{"type":"ReflectionException","description":"when reflection over the class fails."}],"visibility":"protected"}},"inherited":{"properties":{"activeValidators":"yii\\base\\Model","attributes":"yii\\base\\Model","behaviors":"yii\\base\\Component","errors":"yii\\base\\Model","firstErrors":"yii\\base\\Model","iterator":"yii\\base\\Model","scenario":"yii\\base\\Model","validators":"yii\\base\\Model"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Model","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","activeAttributes":"yii\\base\\Model","addError":"yii\\base\\Model","addErrors":"yii\\base\\Model","afterValidate":"yii\\base\\Model","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","attributeHints":"yii\\base\\Model","attributeLabels":"yii\\base\\Model","attributes":"yii\\base\\Model","beforeValidate":"yii\\base\\Model","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clearErrors":"yii\\base\\Model","createValidators":"yii\\base\\Model","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","extractFieldsFor":"yii\\base\\ArrayableTrait","extractRootFields":"yii\\base\\ArrayableTrait","extraFields":"yii\\base\\ArrayableTrait","fields":"yii\\base\\Model","formName":"yii\\base\\Model","generateAttributeLabel":"yii\\base\\Model","getActiveValidators":"yii\\base\\Model","getAttributeHint":"yii\\base\\Model","getAttributeLabel":"yii\\base\\Model","getAttributes":"yii\\base\\Model","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getErrors":"yii\\base\\Model","getErrorSummary":"yii\\base\\Model","getFirstError":"yii\\base\\Model","getFirstErrors":"yii\\base\\Model","getIterator":"yii\\base\\Model","getScenario":"yii\\base\\Model","getValidators":"yii\\base\\Model","hasErrors":"yii\\base\\Model","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","instance":"yii\\base\\StaticInstanceTrait","isAttributeActive":"yii\\base\\Model","isAttributeRequired":"yii\\base\\Model","isAttributeSafe":"yii\\base\\Model","load":"yii\\base\\Model","loadMultiple":"yii\\base\\Model","off":"yii\\base\\Component","offsetExists":"yii\\base\\Model","offsetGet":"yii\\base\\Model","offsetSet":"yii\\base\\Model","offsetUnset":"yii\\base\\Model","on":"yii\\base\\Component","onUnsafeAttribute":"yii\\base\\Model","resolveFields":"yii\\base\\ArrayableTrait","rules":"yii\\base\\Model","safeAttributes":"yii\\base\\Model","scenarios":"yii\\base\\Model","setAttributes":"yii\\base\\Model","setScenario":"yii\\base\\Model","toArray":"yii\\base\\ArrayableTrait","trigger":"yii\\base\\Component","validate":"yii\\base\\Model","validateMultiple":"yii\\base\\Model"},"constants":{"SCENARIO_DEFAULT":"yii\\base\\Model"},"events":{"EVENT_BEFORE_VALIDATE":"yii\\base\\Model","EVENT_AFTER_VALIDATE":"yii\\base\\Model"}}},"yii\\debug\\models\\router\\RouterRules":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/router/routerrules/","summary":"Snapshots every URL rule registered on the application's URL manager.","extends":"yii\\base\\Model","implements":["yii\\base\\StaticInstanceInterface","IteratorAggregate","ArrayAccess","yii\\base\\Arrayable","yii\\base\\Configurable"],"traits":["yii\\base\\ArrayableTrait","yii\\base\\StaticInstanceTrait"],"properties":{"prettyUrl":{"type":"bool","default":"false","description":"Whether `enablePrettyUrl` is enabled on the URL manager."},"rules":{"type":"array<int, array<string, mixed>>","default":"[]","description":"Flattened URL rules."},"strictParsing":{"type":"bool","default":"false","description":"Whether `enableStrictParsing` is enabled on the URL manager."},"suffix":{"type":"string|null","default":"null","description":"Global URL suffix configured on the URL manager."}},"methods":{"init":{"signature":"public function init(): void","summary":"Scans the application on construction so the view model is ready before the panel renders.","return":{"type":"void"}},"scanGroupRule":{"signature":"protected function scanGroupRule(yii\\web\\GroupUrlRule $groupRule): void","summary":"Scans each nested rule of a group rule, tagging discovered entries as `'GROUP'`.","params":[{"name":"$groupRule","type":"yii\\web\\GroupUrlRule","description":"Group rule whose children should be flattened."}],"return":{"type":"void"},"throws":[{"type":"ReflectionException","description":"when reflection is needed for a nested REST rule and fails."}],"visibility":"protected"},"scanRestRule":{"signature":"protected function scanRestRule(yii\\rest\\UrlRule $restRule): void","summary":"Scans the inner rule groups of a REST rule via reflection, tagging discovered entries as `'REST'`.","params":[{"name":"$restRule","type":"yii\\rest\\UrlRule","description":"REST rule whose inner groups are scanned."}],"return":{"type":"void"},"throws":[{"type":"ReflectionException","description":"when the `rules` property cannot be read."}],"visibility":"protected"},"scanRule":{"signature":"protected function scanRule(object $rule, string|null $type = null): void","summary":"Records a single rule's summary in `$rules`, recursing into group and REST rule containers.","params":[{"name":"$rule","type":"object","description":"Rule instance to summarize."},{"name":"$type","type":"string|null","default":"null","optional":true,"description":"Origin tag, typically `'REST'`, `'GROUP'`, or `null` for top-level rules."}],"return":{"type":"void"},"throws":[{"type":"ReflectionException","description":"when reflection over a REST rule's inner `rules` property fails."}],"visibility":"protected"}},"inherited":{"properties":{"activeValidators":"yii\\base\\Model","attributes":"yii\\base\\Model","behaviors":"yii\\base\\Component","errors":"yii\\base\\Model","firstErrors":"yii\\base\\Model","iterator":"yii\\base\\Model","scenario":"yii\\base\\Model","validators":"yii\\base\\Model"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Model","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","activeAttributes":"yii\\base\\Model","addError":"yii\\base\\Model","addErrors":"yii\\base\\Model","afterValidate":"yii\\base\\Model","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","attributeHints":"yii\\base\\Model","attributeLabels":"yii\\base\\Model","attributes":"yii\\base\\Model","beforeValidate":"yii\\base\\Model","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clearErrors":"yii\\base\\Model","createValidators":"yii\\base\\Model","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","extractFieldsFor":"yii\\base\\ArrayableTrait","extractRootFields":"yii\\base\\ArrayableTrait","extraFields":"yii\\base\\ArrayableTrait","fields":"yii\\base\\Model","formName":"yii\\base\\Model","generateAttributeLabel":"yii\\base\\Model","getActiveValidators":"yii\\base\\Model","getAttributeHint":"yii\\base\\Model","getAttributeLabel":"yii\\base\\Model","getAttributes":"yii\\base\\Model","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getErrors":"yii\\base\\Model","getErrorSummary":"yii\\base\\Model","getFirstError":"yii\\base\\Model","getFirstErrors":"yii\\base\\Model","getIterator":"yii\\base\\Model","getScenario":"yii\\base\\Model","getValidators":"yii\\base\\Model","hasErrors":"yii\\base\\Model","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","instance":"yii\\base\\StaticInstanceTrait","isAttributeActive":"yii\\base\\Model","isAttributeRequired":"yii\\base\\Model","isAttributeSafe":"yii\\base\\Model","load":"yii\\base\\Model","loadMultiple":"yii\\base\\Model","off":"yii\\base\\Component","offsetExists":"yii\\base\\Model","offsetGet":"yii\\base\\Model","offsetSet":"yii\\base\\Model","offsetUnset":"yii\\base\\Model","on":"yii\\base\\Component","onUnsafeAttribute":"yii\\base\\Model","resolveFields":"yii\\base\\ArrayableTrait","rules":"yii\\base\\Model","safeAttributes":"yii\\base\\Model","scenarios":"yii\\base\\Model","setAttributes":"yii\\base\\Model","setScenario":"yii\\base\\Model","toArray":"yii\\base\\ArrayableTrait","trigger":"yii\\base\\Component","validate":"yii\\base\\Model","validateMultiple":"yii\\base\\Model"},"constants":{"SCENARIO_DEFAULT":"yii\\base\\Model"},"events":{"EVENT_BEFORE_VALIDATE":"yii\\base\\Model","EVENT_AFTER_VALIDATE":"yii\\base\\Model"}}},"yii\\debug\\models\\search\\Base":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/search/base/","summary":"Bridges Yii2 search-model attributes to the shared framework-neutral filter engine.","extends":"yii\\base\\Model","implements":["yii\\base\\StaticInstanceInterface","IteratorAggregate","ArrayAccess","yii\\base\\Arrayable","yii\\base\\Configurable"],"traits":["yii\\base\\ArrayableTrait","yii\\base\\StaticInstanceTrait"],"methods":{"addCondition":{"signature":"protected function addCondition(string $attribute, bool $partial = false): void","summary":"Registers an exact, partial, or leading numeric comparison condition.","params":[{"name":"$attribute","type":"string","description":"Attribute supplying the filter value and naming the row key to compare."},{"name":"$partial","type":"bool","default":"false","optional":true,"description":"Whether to match the value as a substring instead of requiring equality."}],"return":{"type":"void"},"visibility":"protected"},"addMinimumCondition":{"signature":"protected function addMinimumCondition(string $attribute, float $value): void","summary":"Registers a numeric greater-than-or-equal condition.","params":[{"name":"$attribute","type":"string","description":"Attribute naming the row key to compare."},{"name":"$value","type":"float","description":"Inclusive lower bound the row value must reach."}],"return":{"type":"void"},"visibility":"protected"},"filter":{"signature":"protected function filter(array<int, yii\\debug\\models\\search\\TRow> $rows): list<yii\\debug\\models\\search\\TRow>","summary":"Applies all registered conditions.","params":[{"name":"$rows","type":"array<int, yii\\debug\\models\\search\\TRow>","description":"Rows to filter; typed row objects or string-keyed arrays."}],"return":{"type":"list<yii\\debug\\models\\search\\TRow>","description":"Rows matching every registered condition, reindexed."},"visibility":"protected"}},"inherited":{"properties":{"activeValidators":"yii\\base\\Model","attributes":"yii\\base\\Model","behaviors":"yii\\base\\Component","errors":"yii\\base\\Model","firstErrors":"yii\\base\\Model","iterator":"yii\\base\\Model","scenario":"yii\\base\\Model","validators":"yii\\base\\Model"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Model","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","activeAttributes":"yii\\base\\Model","addError":"yii\\base\\Model","addErrors":"yii\\base\\Model","afterValidate":"yii\\base\\Model","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","attributeHints":"yii\\base\\Model","attributeLabels":"yii\\base\\Model","attributes":"yii\\base\\Model","beforeValidate":"yii\\base\\Model","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clearErrors":"yii\\base\\Model","createValidators":"yii\\base\\Model","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","extractFieldsFor":"yii\\base\\ArrayableTrait","extractRootFields":"yii\\base\\ArrayableTrait","extraFields":"yii\\base\\ArrayableTrait","fields":"yii\\base\\Model","formName":"yii\\base\\Model","generateAttributeLabel":"yii\\base\\Model","getActiveValidators":"yii\\base\\Model","getAttributeHint":"yii\\base\\Model","getAttributeLabel":"yii\\base\\Model","getAttributes":"yii\\base\\Model","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getErrors":"yii\\base\\Model","getErrorSummary":"yii\\base\\Model","getFirstError":"yii\\base\\Model","getFirstErrors":"yii\\base\\Model","getIterator":"yii\\base\\Model","getScenario":"yii\\base\\Model","getValidators":"yii\\base\\Model","hasErrors":"yii\\base\\Model","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","instance":"yii\\base\\StaticInstanceTrait","isAttributeActive":"yii\\base\\Model","isAttributeRequired":"yii\\base\\Model","isAttributeSafe":"yii\\base\\Model","load":"yii\\base\\Model","loadMultiple":"yii\\base\\Model","off":"yii\\base\\Component","offsetExists":"yii\\base\\Model","offsetGet":"yii\\base\\Model","offsetSet":"yii\\base\\Model","offsetUnset":"yii\\base\\Model","on":"yii\\base\\Component","onUnsafeAttribute":"yii\\base\\Model","resolveFields":"yii\\base\\ArrayableTrait","rules":"yii\\base\\Model","safeAttributes":"yii\\base\\Model","scenarios":"yii\\base\\Model","setAttributes":"yii\\base\\Model","setScenario":"yii\\base\\Model","toArray":"yii\\base\\ArrayableTrait","trigger":"yii\\base\\Component","validate":"yii\\base\\Model","validateMultiple":"yii\\base\\Model"},"constants":{"SCENARIO_DEFAULT":"yii\\base\\Model"},"events":{"EVENT_BEFORE_VALIDATE":"yii\\base\\Model","EVENT_AFTER_VALIDATE":"yii\\base\\Model"}}},"yii\\debug\\models\\search\\DbSearch":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/search/dbsearch/","summary":"Backs the filter form above the Database panel's query grid.","extends":"yii\\debug\\models\\search\\Base","implements":["yii\\base\\StaticInstanceInterface","IteratorAggregate","ArrayAccess","yii\\base\\Arrayable","yii\\base\\Configurable"],"traits":["yii\\base\\ArrayableTrait","yii\\base\\StaticInstanceTrait"],"properties":{"query":{"type":"string","default":"''","description":"Submitted value for the `query` filter (substring match against the SQL text)."},"type":{"type":"string","default":"''","description":"Submitted value for the `type` filter (substring match against the statement type)."}},"methods":{"attributeLabels":{"signature":"public function attributeLabels(): array<string, string>","summary":"Returns the labels shown above the filter inputs.","return":{"type":"array<string, string>","description":"Form labels keyed by attribute name."}},"formName":{"signature":"public function formName(): string","summary":"Returns the query-string prefix scoping this form.","return":{"type":"string","description":"Query-string prefix that scopes this form's filter parameters."}},"rules":{"signature":"public function rules(): array<int, array<int|string, mixed>>","summary":"Declares the validation rules applied to the submitted filters.","return":{"type":"array<int, array<int|string, mixed>>","description":"Validation rules consumed by `yii\\base\\Model::validate()`."}},"search":{"signature":"public function search(list<PHPForge\\Debug\\Panel\\Db\\QueryRow> $models): yii\\data\\ArrayDataProvider","summary":"Returns an `yii\\data\\ArrayDataProvider` over the captured queries, applying the active filter values.","params":[{"name":"$models","type":"list<PHPForge\\Debug\\Panel\\Db\\QueryRow>","description":"Captured query rows to wrap and filter."}],"return":{"type":"yii\\data\\ArrayDataProvider","description":"Sortable provider with the filtered query rows."}}},"inherited":{"properties":{"activeValidators":"yii\\base\\Model","attributes":"yii\\base\\Model","behaviors":"yii\\base\\Component","errors":"yii\\base\\Model","firstErrors":"yii\\base\\Model","iterator":"yii\\base\\Model","scenario":"yii\\base\\Model","validators":"yii\\base\\Model"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Model","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","activeAttributes":"yii\\base\\Model","addCondition":"yii\\debug\\models\\search\\Base","addError":"yii\\base\\Model","addErrors":"yii\\base\\Model","addMinimumCondition":"yii\\debug\\models\\search\\Base","afterValidate":"yii\\base\\Model","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","attributeHints":"yii\\base\\Model","attributes":"yii\\base\\Model","beforeValidate":"yii\\base\\Model","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clearErrors":"yii\\base\\Model","createValidators":"yii\\base\\Model","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","extractFieldsFor":"yii\\base\\ArrayableTrait","extractRootFields":"yii\\base\\ArrayableTrait","extraFields":"yii\\base\\ArrayableTrait","fields":"yii\\base\\Model","filter":"yii\\debug\\models\\search\\Base","generateAttributeLabel":"yii\\base\\Model","getActiveValidators":"yii\\base\\Model","getAttributeHint":"yii\\base\\Model","getAttributeLabel":"yii\\base\\Model","getAttributes":"yii\\base\\Model","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getErrors":"yii\\base\\Model","getErrorSummary":"yii\\base\\Model","getFirstError":"yii\\base\\Model","getFirstErrors":"yii\\base\\Model","getIterator":"yii\\base\\Model","getScenario":"yii\\base\\Model","getValidators":"yii\\base\\Model","hasErrors":"yii\\base\\Model","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","instance":"yii\\base\\StaticInstanceTrait","isAttributeActive":"yii\\base\\Model","isAttributeRequired":"yii\\base\\Model","isAttributeSafe":"yii\\base\\Model","load":"yii\\base\\Model","loadMultiple":"yii\\base\\Model","off":"yii\\base\\Component","offsetExists":"yii\\base\\Model","offsetGet":"yii\\base\\Model","offsetSet":"yii\\base\\Model","offsetUnset":"yii\\base\\Model","on":"yii\\base\\Component","onUnsafeAttribute":"yii\\base\\Model","resolveFields":"yii\\base\\ArrayableTrait","safeAttributes":"yii\\base\\Model","scenarios":"yii\\base\\Model","setAttributes":"yii\\base\\Model","setScenario":"yii\\base\\Model","toArray":"yii\\base\\ArrayableTrait","trigger":"yii\\base\\Component","validate":"yii\\base\\Model","validateMultiple":"yii\\base\\Model"},"constants":{"SCENARIO_DEFAULT":"yii\\base\\Model"},"events":{"EVENT_BEFORE_VALIDATE":"yii\\base\\Model","EVENT_AFTER_VALIDATE":"yii\\base\\Model"}}},"yii\\debug\\models\\search\\DebugSearch":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/search/debugsearch/","summary":"Backs the filter form on the debug index page that lists every captured request manifest entry.","extends":"yii\\debug\\models\\search\\Base","implements":["yii\\base\\StaticInstanceInterface","IteratorAggregate","ArrayAccess","yii\\base\\Arrayable","yii\\base\\Configurable"],"traits":["yii\\base\\ArrayableTrait","yii\\base\\StaticInstanceTrait"],"properties":{"ajax":{"type":"string","default":"''","description":"Submitted value for the `ajax` filter (exact match)."},"ip":{"type":"string","default":"''","description":"Submitted value for the `ip` filter (substring match)."},"mailCount":{"type":"string","default":"''","description":"Submitted value for the `mailCount` filter (operator-aware numeric match)."},"method":{"type":"string","default":"''","description":"Submitted value for the `method` filter (exact match)."},"sqlCount":{"type":"string","default":"''","description":"Submitted value for the `sqlCount` filter (operator-aware numeric match)."},"statusCode":{"type":"string","default":"''","description":"Submitted value for the `statusCode` filter (exact or operator-aware numeric match)."},"tag":{"type":"string","default":"''","description":"Submitted value for the `tag` filter (substring match)."},"url":{"type":"string","default":"''","description":"Submitted value for the `url` filter (substring match)."}},"methods":{"attributeLabels":{"signature":"public function attributeLabels(): array<string, string>","summary":"Returns the labels shown above the filter inputs.","return":{"type":"array<string, string>","description":"Form labels keyed by attribute name."}},"formName":{"signature":"public function formName(): string","summary":"Returns the query-string prefix scoping this form.","return":{"type":"string","description":"Query-string prefix that scopes this form's filter parameters."}},"isCodeCritical":{"signature":"public function isCodeCritical(int $code): bool","summary":"Returns whether the given status code marks its request row as critical in the history grid.","params":[{"name":"$code","type":"int","description":"HTTP status code taken from a captured request summary."}],"return":{"type":"bool","description":"`true` for any client or server error (`400` and above); `false` otherwise."}},"rules":{"signature":"public function rules(): array<int, array<int|string, mixed>>","summary":"Declares the validation rules applied to the submitted filters.","return":{"type":"array<int, array<int|string, mixed>>","description":"Validation rules consumed by `yii\\base\\Model::validate()`."}},"search":{"signature":"public function search(array<int|string, mixed> $params, list<PHPForge\\Debug\\Storage\\RequestSummary> $models): yii\\data\\ArrayDataProvider","summary":"Returns an `yii\\data\\ArrayDataProvider` over the manifest entries, applying the loaded filter values.","params":[{"name":"$params","type":"array<int|string, mixed>","description":"Raw request parameters consumed by `yii\\base\\Model::load()`."},{"name":"$models","type":"list<PHPForge\\Debug\\Storage\\RequestSummary>","description":"Manifest entries to wrap and filter."}],"return":{"type":"yii\\data\\ArrayDataProvider","description":"Sortable, paginated provider with the filtered manifest entries."}}},"inherited":{"properties":{"activeValidators":"yii\\base\\Model","attributes":"yii\\base\\Model","behaviors":"yii\\base\\Component","errors":"yii\\base\\Model","firstErrors":"yii\\base\\Model","iterator":"yii\\base\\Model","scenario":"yii\\base\\Model","validators":"yii\\base\\Model"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Model","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","activeAttributes":"yii\\base\\Model","addCondition":"yii\\debug\\models\\search\\Base","addError":"yii\\base\\Model","addErrors":"yii\\base\\Model","addMinimumCondition":"yii\\debug\\models\\search\\Base","afterValidate":"yii\\base\\Model","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","attributeHints":"yii\\base\\Model","attributes":"yii\\base\\Model","beforeValidate":"yii\\base\\Model","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clearErrors":"yii\\base\\Model","createValidators":"yii\\base\\Model","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","extractFieldsFor":"yii\\base\\ArrayableTrait","extractRootFields":"yii\\base\\ArrayableTrait","extraFields":"yii\\base\\ArrayableTrait","fields":"yii\\base\\Model","filter":"yii\\debug\\models\\search\\Base","generateAttributeLabel":"yii\\base\\Model","getActiveValidators":"yii\\base\\Model","getAttributeHint":"yii\\base\\Model","getAttributeLabel":"yii\\base\\Model","getAttributes":"yii\\base\\Model","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getErrors":"yii\\base\\Model","getErrorSummary":"yii\\base\\Model","getFirstError":"yii\\base\\Model","getFirstErrors":"yii\\base\\Model","getIterator":"yii\\base\\Model","getScenario":"yii\\base\\Model","getValidators":"yii\\base\\Model","hasErrors":"yii\\base\\Model","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","instance":"yii\\base\\StaticInstanceTrait","isAttributeActive":"yii\\base\\Model","isAttributeRequired":"yii\\base\\Model","isAttributeSafe":"yii\\base\\Model","load":"yii\\base\\Model","loadMultiple":"yii\\base\\Model","off":"yii\\base\\Component","offsetExists":"yii\\base\\Model","offsetGet":"yii\\base\\Model","offsetSet":"yii\\base\\Model","offsetUnset":"yii\\base\\Model","on":"yii\\base\\Component","onUnsafeAttribute":"yii\\base\\Model","resolveFields":"yii\\base\\ArrayableTrait","safeAttributes":"yii\\base\\Model","scenarios":"yii\\base\\Model","setAttributes":"yii\\base\\Model","setScenario":"yii\\base\\Model","toArray":"yii\\base\\ArrayableTrait","trigger":"yii\\base\\Component","validate":"yii\\base\\Model","validateMultiple":"yii\\base\\Model"},"constants":{"SCENARIO_DEFAULT":"yii\\base\\Model"},"events":{"EVENT_BEFORE_VALIDATE":"yii\\base\\Model","EVENT_AFTER_VALIDATE":"yii\\base\\Model"}}},"yii\\debug\\models\\search\\EventSearch":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/search/eventsearch/","summary":"Backs the filter form above the Event panel grid of captured framework events.","extends":"yii\\debug\\models\\search\\Base","implements":["yii\\base\\StaticInstanceInterface","IteratorAggregate","ArrayAccess","yii\\base\\Arrayable","yii\\base\\Configurable"],"traits":["yii\\base\\ArrayableTrait","yii\\base\\StaticInstanceTrait"],"properties":{"class":{"type":"string","default":"''","description":"Submitted value for the event-class filter (substring match against the listener class FQCN)."},"isStatic":{"type":"string","default":"''","description":"Submitted value for the static-event filter: `'1'`, `'0'`, or `''` (no filter)."},"name":{"type":"string","default":"''","description":"Submitted value for the `name` filter (substring match against the event name)."},"senderClass":{"type":"string","default":"''","description":"Submitted value for the sender-class filter (substring match against the sender FQCN)."}},"methods":{"attributeLabels":{"signature":"public function attributeLabels(): array<string, string>","summary":"Returns the labels shown above the filter inputs.","return":{"type":"array<string, string>","description":"Form labels keyed by attribute name."}},"formName":{"signature":"public function formName(): string","summary":"Returns the query-string prefix scoping this form.","return":{"type":"string","description":"Query-string prefix that scopes this form's filter parameters."}},"rules":{"signature":"public function rules(): array<int, array<int|string, mixed>>","summary":"Declares the validation rules applied to the submitted filters.","return":{"type":"array<int, array<int|string, mixed>>","description":"Validation rules consumed by `yii\\base\\Model::validate()`."}},"search":{"signature":"public function search(array<int|string, mixed> $params, list<PHPForge\\Debug\\Panel\\Event\\EventRow> $models): yii\\data\\ArrayDataProvider","summary":"Returns an `yii\\data\\ArrayDataProvider` over the captured events, applying the loaded filter values.","params":[{"name":"$params","type":"array<int|string, mixed>","description":"Raw request parameters consumed by `yii\\base\\Model::load()`."},{"name":"$models","type":"list<PHPForge\\Debug\\Panel\\Event\\EventRow>","description":"Captured event rows to wrap and filter."}],"return":{"type":"yii\\data\\ArrayDataProvider","description":"Sortable provider with the filtered event rows."}}},"inherited":{"properties":{"activeValidators":"yii\\base\\Model","attributes":"yii\\base\\Model","behaviors":"yii\\base\\Component","errors":"yii\\base\\Model","firstErrors":"yii\\base\\Model","iterator":"yii\\base\\Model","scenario":"yii\\base\\Model","validators":"yii\\base\\Model"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Model","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","activeAttributes":"yii\\base\\Model","addCondition":"yii\\debug\\models\\search\\Base","addError":"yii\\base\\Model","addErrors":"yii\\base\\Model","addMinimumCondition":"yii\\debug\\models\\search\\Base","afterValidate":"yii\\base\\Model","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","attributeHints":"yii\\base\\Model","attributes":"yii\\base\\Model","beforeValidate":"yii\\base\\Model","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clearErrors":"yii\\base\\Model","createValidators":"yii\\base\\Model","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","extractFieldsFor":"yii\\base\\ArrayableTrait","extractRootFields":"yii\\base\\ArrayableTrait","extraFields":"yii\\base\\ArrayableTrait","fields":"yii\\base\\Model","filter":"yii\\debug\\models\\search\\Base","generateAttributeLabel":"yii\\base\\Model","getActiveValidators":"yii\\base\\Model","getAttributeHint":"yii\\base\\Model","getAttributeLabel":"yii\\base\\Model","getAttributes":"yii\\base\\Model","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getErrors":"yii\\base\\Model","getErrorSummary":"yii\\base\\Model","getFirstError":"yii\\base\\Model","getFirstErrors":"yii\\base\\Model","getIterator":"yii\\base\\Model","getScenario":"yii\\base\\Model","getValidators":"yii\\base\\Model","hasErrors":"yii\\base\\Model","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","instance":"yii\\base\\StaticInstanceTrait","isAttributeActive":"yii\\base\\Model","isAttributeRequired":"yii\\base\\Model","isAttributeSafe":"yii\\base\\Model","load":"yii\\base\\Model","loadMultiple":"yii\\base\\Model","off":"yii\\base\\Component","offsetExists":"yii\\base\\Model","offsetGet":"yii\\base\\Model","offsetSet":"yii\\base\\Model","offsetUnset":"yii\\base\\Model","on":"yii\\base\\Component","onUnsafeAttribute":"yii\\base\\Model","resolveFields":"yii\\base\\ArrayableTrait","safeAttributes":"yii\\base\\Model","scenarios":"yii\\base\\Model","setAttributes":"yii\\base\\Model","setScenario":"yii\\base\\Model","toArray":"yii\\base\\ArrayableTrait","trigger":"yii\\base\\Component","validate":"yii\\base\\Model","validateMultiple":"yii\\base\\Model"},"constants":{"SCENARIO_DEFAULT":"yii\\base\\Model"},"events":{"EVENT_BEFORE_VALIDATE":"yii\\base\\Model","EVENT_AFTER_VALIDATE":"yii\\base\\Model"}}},"yii\\debug\\models\\search\\LogSearch":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/search/logsearch/","summary":"Backs the filter form above the Log panel grid of the active request's log messages.","extends":"yii\\debug\\models\\search\\Base","implements":["yii\\base\\StaticInstanceInterface","IteratorAggregate","ArrayAccess","yii\\base\\Arrayable","yii\\base\\Configurable"],"traits":["yii\\base\\ArrayableTrait","yii\\base\\StaticInstanceTrait"],"properties":{"category":{"type":"string","default":"''","description":"Submitted value for the `category` filter (substring match)."},"level":{"type":"string","default":"''","description":"Submitted value for the `level` filter (exact match)."},"message":{"type":"string","default":"''","description":"Submitted value for the `message` filter (substring match)."}},"methods":{"attributeLabels":{"signature":"public function attributeLabels(): array<string, string>","summary":"Returns the labels shown above the filter inputs.","return":{"type":"array<string, string>","description":"Form labels keyed by attribute name."}},"formName":{"signature":"public function formName(): string","summary":"Returns the query-string prefix scoping this form.","return":{"type":"string","description":"Query-string prefix that scopes this form's filter parameters."}},"rules":{"signature":"public function rules(): array<int, array<int|string, mixed>>","summary":"Declares the validation rules applied to the submitted filters.","return":{"type":"array<int, array<int|string, mixed>>","description":"Validation rules consumed by `yii\\base\\Model::validate()`."}},"search":{"signature":"public function search(array<int|string, mixed> $params, list<PHPForge\\Debug\\Panel\\Dump\\DumpRow|PHPForge\\Debug\\Panel\\Log\\LogRow> $models): yii\\data\\ArrayDataProvider","summary":"Returns an `yii\\data\\ArrayDataProvider` over the captured log messages, applying the loaded filter values.","params":[{"name":"$params","type":"array<int|string, mixed>","description":"Raw request parameters consumed by `yii\\base\\Model::load()`."},{"name":"$models","type":"list<PHPForge\\Debug\\Panel\\Dump\\DumpRow|PHPForge\\Debug\\Panel\\Log\\LogRow>","description":"Captured log-shaped rows to wrap and filter."}],"return":{"type":"yii\\data\\ArrayDataProvider","description":"Sortable provider with the filtered log rows."}}},"inherited":{"properties":{"activeValidators":"yii\\base\\Model","attributes":"yii\\base\\Model","behaviors":"yii\\base\\Component","errors":"yii\\base\\Model","firstErrors":"yii\\base\\Model","iterator":"yii\\base\\Model","scenario":"yii\\base\\Model","validators":"yii\\base\\Model"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Model","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","activeAttributes":"yii\\base\\Model","addCondition":"yii\\debug\\models\\search\\Base","addError":"yii\\base\\Model","addErrors":"yii\\base\\Model","addMinimumCondition":"yii\\debug\\models\\search\\Base","afterValidate":"yii\\base\\Model","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","attributeHints":"yii\\base\\Model","attributes":"yii\\base\\Model","beforeValidate":"yii\\base\\Model","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clearErrors":"yii\\base\\Model","createValidators":"yii\\base\\Model","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","extractFieldsFor":"yii\\base\\ArrayableTrait","extractRootFields":"yii\\base\\ArrayableTrait","extraFields":"yii\\base\\ArrayableTrait","fields":"yii\\base\\Model","filter":"yii\\debug\\models\\search\\Base","generateAttributeLabel":"yii\\base\\Model","getActiveValidators":"yii\\base\\Model","getAttributeHint":"yii\\base\\Model","getAttributeLabel":"yii\\base\\Model","getAttributes":"yii\\base\\Model","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getErrors":"yii\\base\\Model","getErrorSummary":"yii\\base\\Model","getFirstError":"yii\\base\\Model","getFirstErrors":"yii\\base\\Model","getIterator":"yii\\base\\Model","getScenario":"yii\\base\\Model","getValidators":"yii\\base\\Model","hasErrors":"yii\\base\\Model","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","instance":"yii\\base\\StaticInstanceTrait","isAttributeActive":"yii\\base\\Model","isAttributeRequired":"yii\\base\\Model","isAttributeSafe":"yii\\base\\Model","load":"yii\\base\\Model","loadMultiple":"yii\\base\\Model","off":"yii\\base\\Component","offsetExists":"yii\\base\\Model","offsetGet":"yii\\base\\Model","offsetSet":"yii\\base\\Model","offsetUnset":"yii\\base\\Model","on":"yii\\base\\Component","onUnsafeAttribute":"yii\\base\\Model","resolveFields":"yii\\base\\ArrayableTrait","safeAttributes":"yii\\base\\Model","scenarios":"yii\\base\\Model","setAttributes":"yii\\base\\Model","setScenario":"yii\\base\\Model","toArray":"yii\\base\\ArrayableTrait","trigger":"yii\\base\\Component","validate":"yii\\base\\Model","validateMultiple":"yii\\base\\Model"},"constants":{"SCENARIO_DEFAULT":"yii\\base\\Model"},"events":{"EVENT_BEFORE_VALIDATE":"yii\\base\\Model","EVENT_AFTER_VALIDATE":"yii\\base\\Model"}}},"yii\\debug\\models\\search\\ProfileSearch":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/search/profilesearch/","summary":"Backs the shared filters for the Profiling Timeline and span-details grid.","extends":"yii\\debug\\models\\search\\Base","implements":["yii\\base\\StaticInstanceInterface","IteratorAggregate","ArrayAccess","yii\\base\\Arrayable","yii\\base\\Configurable"],"traits":["yii\\base\\ArrayableTrait","yii\\base\\StaticInstanceTrait"],"properties":{"category":{"type":"string","default":"''","description":"Submitted value for the `category` filter (substring match)."},"duration":{"type":"string","default":"''","description":"Submitted value for the minimum `duration` filter, in milliseconds."},"info":{"type":"string","default":"''","description":"Submitted value for the `info` filter (substring match)."}},"methods":{"attributeLabels":{"signature":"public function attributeLabels(): array<string, string>","summary":"Returns the labels shown above the filter inputs.","return":{"type":"array<string, string>","description":"Form labels keyed by attribute name."}},"formName":{"signature":"public function formName(): string","summary":"Returns the query-string prefix scoping this form.","return":{"type":"string","description":"Query-string prefix that scopes this form's filter parameters."}},"rules":{"signature":"public function rules(): array<int, array<int|string, mixed>>","summary":"Declares the validation rules applied to the submitted filters.","return":{"type":"array<int, array<int|string, mixed>>","description":"Validation rules consumed by `yii\\base\\Model::validate()`."}},"search":{"signature":"public function search(array<int|string, mixed> $params, list<PHPForge\\Debug\\Panel\\Profile\\ProfileRow> $models): yii\\data\\ArrayDataProvider","summary":"Returns an `yii\\data\\ArrayDataProvider` over the captured profiling spans, applying the loaded filter values.","params":[{"name":"$params","type":"array<int|string, mixed>","description":"Raw request parameters consumed by `yii\\base\\Model::load()`."},{"name":"$models","type":"list<PHPForge\\Debug\\Panel\\Profile\\ProfileRow>","description":"Captured profiling spans to wrap and filter."}],"return":{"type":"yii\\data\\ArrayDataProvider","description":"Sortable provider with the filtered profiling spans."}}},"inherited":{"properties":{"activeValidators":"yii\\base\\Model","attributes":"yii\\base\\Model","behaviors":"yii\\base\\Component","errors":"yii\\base\\Model","firstErrors":"yii\\base\\Model","iterator":"yii\\base\\Model","scenario":"yii\\base\\Model","validators":"yii\\base\\Model"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Model","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","activeAttributes":"yii\\base\\Model","addCondition":"yii\\debug\\models\\search\\Base","addError":"yii\\base\\Model","addErrors":"yii\\base\\Model","addMinimumCondition":"yii\\debug\\models\\search\\Base","afterValidate":"yii\\base\\Model","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","attributeHints":"yii\\base\\Model","attributes":"yii\\base\\Model","beforeValidate":"yii\\base\\Model","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clearErrors":"yii\\base\\Model","createValidators":"yii\\base\\Model","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","extractFieldsFor":"yii\\base\\ArrayableTrait","extractRootFields":"yii\\base\\ArrayableTrait","extraFields":"yii\\base\\ArrayableTrait","fields":"yii\\base\\Model","filter":"yii\\debug\\models\\search\\Base","generateAttributeLabel":"yii\\base\\Model","getActiveValidators":"yii\\base\\Model","getAttributeHint":"yii\\base\\Model","getAttributeLabel":"yii\\base\\Model","getAttributes":"yii\\base\\Model","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getErrors":"yii\\base\\Model","getErrorSummary":"yii\\base\\Model","getFirstError":"yii\\base\\Model","getFirstErrors":"yii\\base\\Model","getIterator":"yii\\base\\Model","getScenario":"yii\\base\\Model","getValidators":"yii\\base\\Model","hasErrors":"yii\\base\\Model","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","instance":"yii\\base\\StaticInstanceTrait","isAttributeActive":"yii\\base\\Model","isAttributeRequired":"yii\\base\\Model","isAttributeSafe":"yii\\base\\Model","load":"yii\\base\\Model","loadMultiple":"yii\\base\\Model","off":"yii\\base\\Component","offsetExists":"yii\\base\\Model","offsetGet":"yii\\base\\Model","offsetSet":"yii\\base\\Model","offsetUnset":"yii\\base\\Model","on":"yii\\base\\Component","onUnsafeAttribute":"yii\\base\\Model","resolveFields":"yii\\base\\ArrayableTrait","safeAttributes":"yii\\base\\Model","scenarios":"yii\\base\\Model","setAttributes":"yii\\base\\Model","setScenario":"yii\\base\\Model","toArray":"yii\\base\\ArrayableTrait","trigger":"yii\\base\\Component","validate":"yii\\base\\Model","validateMultiple":"yii\\base\\Model"},"constants":{"SCENARIO_DEFAULT":"yii\\base\\Model"},"events":{"EVENT_BEFORE_VALIDATE":"yii\\base\\Model","EVENT_AFTER_VALIDATE":"yii\\base\\Model"}}},"yii\\debug\\models\\search\\QueryRowDataProvider":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/search/queryrowdataprovider/","summary":"Sorts immutable query rows by their persisted fields without requiring public properties.","extends":"yii\\data\\ArrayDataProvider","implements":["yii\\base\\Configurable","yii\\data\\DataProviderInterface"],"methods":{"sortModels":{"signature":"protected function sortModels(array<array-key, mixed> $models, yii\\data\\Sort $sort): array<array-key, mixed>","summary":"Orders the captured statements by the active sort, keeping capture order as the tiebreaker.","params":[{"name":"$models","type":"array<array-key, mixed>","description":"Rows accepted by the base data provider."},{"name":"$sort","type":"yii\\data\\Sort","description":"Active field ordering."}],"return":{"type":"array<array-key, mixed>","description":"Sorted rows, preserving their original instances."},"visibility":"protected"}},"inherited":{"properties":{"allModels":"yii\\data\\ArrayDataProvider","behaviors":"yii\\base\\Component","count":"yii\\data\\BaseDataProvider","id":"yii\\data\\BaseDataProvider","key":"yii\\data\\ArrayDataProvider","keys":"yii\\data\\BaseDataProvider","modelClass":"yii\\data\\ArrayDataProvider","models":"yii\\data\\BaseDataProvider","pagination":"yii\\data\\BaseDataProvider","sort":"yii\\data\\BaseDataProvider","totalCount":"yii\\data\\BaseDataProvider"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getCount":"yii\\data\\BaseDataProvider","getKeys":"yii\\data\\BaseDataProvider","getModels":"yii\\data\\BaseDataProvider","getPagination":"yii\\data\\BaseDataProvider","getSort":"yii\\data\\BaseDataProvider","getTotalCount":"yii\\data\\BaseDataProvider","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\data\\BaseDataProvider","off":"yii\\base\\Component","on":"yii\\base\\Component","prepare":"yii\\data\\BaseDataProvider","prepareKeys":"yii\\data\\ArrayDataProvider","prepareModels":"yii\\data\\ArrayDataProvider","prepareTotalCount":"yii\\data\\ArrayDataProvider","refresh":"yii\\data\\BaseDataProvider","setKeys":"yii\\data\\BaseDataProvider","setModels":"yii\\data\\BaseDataProvider","setPagination":"yii\\data\\BaseDataProvider","setSort":"yii\\data\\BaseDataProvider","setTotalCount":"yii\\data\\BaseDataProvider","trigger":"yii\\base\\Component"}}},"yii\\debug\\models\\search\\UserSearch":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/search/usersearch/","summary":"Backs the User Switch panel's search form, delegating attribute access to the application's identity model.","extends":"yii\\base\\Model","implements":["yii\\debug\\models\\search\\UserSearchInterface","yii\\base\\StaticInstanceInterface","IteratorAggregate","ArrayAccess","yii\\base\\Arrayable","yii\\base\\Configurable"],"traits":["yii\\base\\ArrayableTrait","yii\\base\\StaticInstanceTrait"],"properties":{"identityImplement":{"type":"yii\\base\\Model|null","default":"null","description":"Identity model instance resolved from the configured user component, or `null` when no user component exists."}},"methods":{"__get":{"signature":"public function __get(string $name): mixed","summary":"Reads an attribute from the identity model.","params":[{"name":"$name","type":"string","description":"Attribute name."}],"return":{"type":"mixed","description":"Attribute value, or `null` when no identity model is available."}},"__set":{"signature":"public function __set(string $name, mixed $value): void","summary":"Writes an attribute to the identity model, ignoring the call when no identity model is available.","params":[{"name":"$name","type":"string","description":"Attribute name."},{"name":"$value","type":"mixed","description":"Value to assign."}],"return":{"type":"void"}},"attributes":{"signature":"public function attributes(): array<int|string, string>","summary":"Returns the attribute names forwarded from the identity model.","return":{"type":"array<int|string, string>","description":"Attribute names forwarded from the identity model; empty when unavailable."}},"formName":{"signature":"public function formName(): string","summary":"Returns the query-string prefix scoping this form.","return":{"type":"string","description":"Query-string prefix that scopes this form's filter parameters."}},"init":{"signature":"public function init(): void","summary":"Instantiates the configured `identityClass` so the search form mirrors the identity model's attributes.","return":{"type":"void"}},"rules":{"signature":"public function rules(): array<int, array<int|string, mixed>>","summary":"Declares the safe attributes mirrored from the identity model.","return":{"type":"array<int, array<int|string, mixed>>","description":"Safe-attribute rules mirroring the identity model; empty when no identity model is available."}},"search":{"signature":"public function search(array<int|string, mixed> $params): yii\\data\\DataProviderInterface","summary":"Returns a data provider over the identity model.","params":[{"name":"$params","type":"array<int|string, mixed>","description":"Raw request parameters consumed by `yii\\base\\Model::load()`."}],"return":{"type":"yii\\data\\DataProviderInterface","description":"Provider over the identity model, empty for non-AR identities."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the table schema cannot be resolved during AR filtering."}]}},"inherited":{"properties":{"activeValidators":"yii\\base\\Model","attributes":"yii\\base\\Model","behaviors":"yii\\base\\Component","errors":"yii\\base\\Model","firstErrors":"yii\\base\\Model","iterator":"yii\\base\\Model","scenario":"yii\\base\\Model","validators":"yii\\base\\Model"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Model","__construct":"yii\\base\\BaseObject","__isset":"yii\\base\\Component","__unset":"yii\\base\\Component","activeAttributes":"yii\\base\\Model","addError":"yii\\base\\Model","addErrors":"yii\\base\\Model","afterValidate":"yii\\base\\Model","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","attributeHints":"yii\\base\\Model","attributeLabels":"yii\\base\\Model","beforeValidate":"yii\\base\\Model","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clearErrors":"yii\\base\\Model","createValidators":"yii\\base\\Model","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","extractFieldsFor":"yii\\base\\ArrayableTrait","extractRootFields":"yii\\base\\ArrayableTrait","extraFields":"yii\\base\\ArrayableTrait","fields":"yii\\base\\Model","generateAttributeLabel":"yii\\base\\Model","getActiveValidators":"yii\\base\\Model","getAttributeHint":"yii\\base\\Model","getAttributeLabel":"yii\\base\\Model","getAttributes":"yii\\base\\Model","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getErrors":"yii\\base\\Model","getErrorSummary":"yii\\base\\Model","getFirstError":"yii\\base\\Model","getFirstErrors":"yii\\base\\Model","getIterator":"yii\\base\\Model","getScenario":"yii\\base\\Model","getValidators":"yii\\base\\Model","hasErrors":"yii\\base\\Model","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","instance":"yii\\base\\StaticInstanceTrait","isAttributeActive":"yii\\base\\Model","isAttributeRequired":"yii\\base\\Model","isAttributeSafe":"yii\\base\\Model","load":"yii\\base\\Model","loadMultiple":"yii\\base\\Model","off":"yii\\base\\Component","offsetExists":"yii\\base\\Model","offsetGet":"yii\\base\\Model","offsetSet":"yii\\base\\Model","offsetUnset":"yii\\base\\Model","on":"yii\\base\\Component","onUnsafeAttribute":"yii\\base\\Model","resolveFields":"yii\\base\\ArrayableTrait","safeAttributes":"yii\\base\\Model","scenarios":"yii\\base\\Model","setAttributes":"yii\\base\\Model","setScenario":"yii\\base\\Model","toArray":"yii\\base\\ArrayableTrait","trigger":"yii\\base\\Component","validate":"yii\\base\\Model","validateMultiple":"yii\\base\\Model"},"constants":{"SCENARIO_DEFAULT":"yii\\base\\Model"},"events":{"EVENT_BEFORE_VALIDATE":"yii\\base\\Model","EVENT_AFTER_VALIDATE":"yii\\base\\Model"}}},"yii\\debug\\models\\search\\UserSearchInterface":{"kind":"interface","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/models/search/usersearchinterface/","summary":"Contract for filter models backing the User Switch panel's search form.","methods":{"search":{"signature":"abstract public function search(array<int|string, mixed> $params): yii\\data\\DataProviderInterface","summary":"Returns a data provider over the identity records, filtered by the submitted search parameters.","params":[{"name":"$params","type":"array<int|string, mixed>","description":"Raw request parameters consumed by the implementing model."}],"return":{"type":"yii\\data\\DataProviderInterface","description":"Provider over the matching identity records."},"abstract":true}}},"yii\\debug\\panels\\AssetPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/assetpanel/","summary":"Renders the asset bundles captured by the Asset Bundles collector.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered panel markup.","access":"read-only","virtual":true},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the detail view through the shared declarative presenter.","return":{"type":"string","description":"Rendered panel markup."}},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name from the shared title enum.","return":{"type":"string","description":"Panel display name."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Returns the toolbar item showing the count of registered bundles, or `[]` when none were captured.","return":{"type":"array<int, array<string, mixed>>","description":"Single-element list with the `info` chip, or `[]`."},"visibility":"protected"},"hasContent":{"signature":"public function hasContent(): bool","summary":"Returns whether the loaded capture contains asset bundles or embedded Vite data.","return":{"type":"bool","description":"`true` when the capture holds at least one bundle; `false` otherwise."}},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed asset-bundle snapshot backing this panel.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]},"isEnabled":{"signature":"public function isEnabled(): bool","summary":"Returns whether the application exposes an `assetManager` component the panel can read.","return":{"type":"bool","description":"`true` when the panel may capture and render; `false` otherwise."}}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","isVisible":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\ConfigPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/configpanel/","summary":"Renders the application configuration and runtime environment captured by the Configuration collector.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered panel markup.","access":"read-only","virtual":true},"extensions":{"type":"array<string, string>","description":"Extension versions keyed by package name, sorted alphabetically.","access":"read-only","virtual":true},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"phpVersion":{"type":"string|null","description":"PHP version of the capture, or `null` when it was not recorded.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true},"yiiVersion":{"type":"string|null","description":"Yii version of the capture, or `null` when it was not recorded.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the detail view through the shared declarative presenter.","return":{"type":"string","description":"Rendered panel markup."}},"getExtensions":{"signature":"public function getExtensions(): array<string, string>","summary":"Returns the installed-extensions roster as a sorted `name => version` map.","return":{"type":"array<string, string>","description":"Extension versions keyed by package name, sorted alphabetically."}},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name from the shared title enum.","return":{"type":"string","description":"Panel display name."}},"getPhpVersion":{"signature":"public function getPhpVersion(): string|null","summary":"Returns the saved PHP version (`php.version`), or `null` when the snapshot is missing.","return":{"type":"string|null","description":"PHP version of the capture, or `null` when it was not recorded."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Suppresses the per-panel toolbar item: the configuration data is already surfaced through the Yii brand chip (links to this panel) and the dedicated PHP chip (links to `php-info`).","return":{"type":"array<int, array<string, mixed>>","description":"Always `[]`."},"visibility":"protected"},"getYiiVersion":{"signature":"public function getYiiVersion(): string|null","summary":"Returns the saved Yii framework version (`application.yii`), or `null` when the snapshot is missing.","return":{"type":"string|null","description":"Yii version of the capture, or `null` when it was not recorded."}},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed configuration snapshot backing this panel.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","isEnabled":"yii\\debug\\Panel","isVisible":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\DbPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/dbpanel/","summary":"Renders the database queries captured by the Database collector.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"criticalQueryThreshold":{"type":"int|null","default":"null","description":"Critical-query-count threshold; when the captured query count exceeds this value the toolbar item flips to a warning state. `null` disables the check."},"db":{"type":"string","default":"'db'","description":"Application component id of the DB connection used to run EXPLAIN queries."},"defaultFilter":{"type":"array<string, mixed>","default":"[]","description":"Default filter applied to the queries grid as `property => value` (for example, `['type' => 'SELECT']`)."},"defaultOrder":{"type":"array<string, int>","default":"['seq' => SORT_ASC]","description":"Default sort order applied to the queries grid as `property => SORT_*` (for example, `['duration' => SORT_DESC]`)."},"detail":{"type":"string","description":"Rendered detail view.","access":"read-only","virtual":true},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"rows":{"type":"list<PHPForge\\Debug\\Panel\\Db\\QueryRow>","description":"Rows in capture order.","access":"read-only","virtual":true},"summary":{"type":"PHPForge\\Debug\\Panel\\Db\\DbSummary","description":"Query metrics for the whole request.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true},"types":{"type":"array<string, string>","description":"`type => type` map suitable for a dropdown filter.","access":"read-only","virtual":true}},"methods":{"getDb":{"signature":"public function getDb(): yii\\db\\Connection","summary":"Returns the DB connection used by the panel for EXPLAIN queries.","return":{"type":"yii\\db\\Connection","description":"Connection the EXPLAIN action runs against."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the configured component id does not resolve to a `yii\\db\\Connection`."}]},"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the detail view with the queries grid, the EXPLAIN toggle, and the duplicate-query summary.","return":{"type":"string","description":"Rendered detail view."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the DB connection cannot be resolved."}]},"getModels":{"signature":"protected function getModels(): list<PHPForge\\Debug\\Panel\\Db\\QueryRow>","summary":"Returns the typed query rows consumed by the queries grid.","return":{"type":"list<PHPForge\\Debug\\Panel\\Db\\QueryRow>","description":"Rows in capture order, suitable for `yii\\data\\ArrayDataProvider`."},"visibility":"protected"},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name from the shared title enum.","return":{"type":"string","description":"Panel display name."}},"getRows":{"signature":"public function getRows(): list<PHPForge\\Debug\\Panel\\Db\\QueryRow>","summary":"Returns the executed statements as typed rows hydrated from the stored snapshot.","return":{"type":"list<PHPForge\\Debug\\Panel\\Db\\QueryRow>","description":"Rows in capture order."}},"getSummary":{"signature":"public function getSummary(): PHPForge\\Debug\\Panel\\Db\\DbSummary","summary":"Returns the request-wide query metrics, computed once per hydrated snapshot and reused by every consumer.","return":{"type":"PHPForge\\Debug\\Panel\\Db\\DbSummary","description":"Query metrics for the whole request."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Builds the query-count toolbar chip, with a warning when the count is critical or callers are excessive.","return":{"type":"array<int, array<string, mixed>>","description":"Toolbar items, or `[]` when no queries were captured."},"visibility":"protected"},"getTotalQueryTime":{"signature":"protected function getTotalQueryTime(): float","summary":"Returns the sum of every captured query's duration.","return":{"type":"float","description":"Total query time, in milliseconds."},"visibility":"protected"},"getTypes":{"signature":"public function getTypes(): array<string, string>","summary":"Returns the distinct SQL statement types captured for the request, keyed and valued by the same uppercase token.","return":{"type":"array<string, string>","description":"`type => type` map suitable for a dropdown filter."}},"hasExplain":{"signature":"protected function hasExplain(): bool","summary":"Returns whether the DB connection's driver supports the EXPLAIN action (currently `mysql`, `sqlite`, `pgsql`).","return":{"type":"bool","description":"`true` when the driver supports EXPLAIN; `false` otherwise."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the DB connection cannot be resolved."}],"visibility":"protected"},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed query snapshot and discards the memoized summary.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]},"init":{"signature":"public function init(): void","summary":"Registers the `db-explain` action.","return":{"type":"void"}},"isEnabled":{"signature":"public function isEnabled(): bool","summary":"Returns whether the panel can run: requires both a resolvable DB connection and the parent enable check.","return":{"type":"bool","description":"`true` when a DB connection resolves and the parent check passes; `false` otherwise."}},"isQueryCountCritical":{"signature":"public function isQueryCountCritical(int $count): bool","summary":"Returns whether the given query count exceeds `$criticalQueryThreshold`.","params":[{"name":"$count","type":"int","description":"Query count to test."}],"return":{"type":"bool","description":"`true` when the count exceeds the threshold; `false` otherwise."}}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","isVisible":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\DumpPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/dumppanel/","summary":"Renders the `Yii::debug()` trace messages captured by the Dump collector as dump cards.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered detail view.","access":"read-only","virtual":true},"dumps":{"type":"list<PHPForge\\Debug\\Panel\\Dump\\DumpRow>","description":"Captured dump rows in capture order.","access":"read-only","virtual":true},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the detail view with the dump grid powered by the Log search model.","return":{"type":"string","description":"Rendered detail view."}},"getDumps":{"signature":"public function getDumps(): list<PHPForge\\Debug\\Panel\\Dump\\DumpRow>","summary":"Returns the values dumped during the request.","return":{"type":"list<PHPForge\\Debug\\Panel\\Dump\\DumpRow>","description":"Captured dump rows in capture order."}},"getModels":{"signature":"protected function getModels(): list<PHPForge\\Debug\\Panel\\Dump\\DumpRow>","summary":"Returns the typed dump rows consumed by the dumps grid.","return":{"type":"list<PHPForge\\Debug\\Panel\\Dump\\DumpRow>","description":"Rows in capture order, suitable for `yii\\data\\ArrayDataProvider`."},"visibility":"protected"},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name from the shared title enum.","return":{"type":"string","description":"Panel display name."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Returns the toolbar item showing the number of dumped variables, or `[]` when none were captured.","return":{"type":"array<int, array<string, mixed>>","description":"Single-element list with the `info` chip, or `[]`."},"visibility":"protected"},"hasDumps":{"signature":"public function hasDumps(): bool","summary":"Returns whether the capture holds any dump.","return":{"type":"bool","description":"`true` when the capture holds at least one dump; `false` otherwise."}},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed dump snapshot backing this panel.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","isEnabled":"yii\\debug\\Panel","isVisible":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\EventPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/eventpanel/","summary":"Renders the framework events captured by the Events collector.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered detail view.","access":"read-only","virtual":true},"events":{"type":"list<PHPForge\\Debug\\Panel\\Event\\EventRow>","description":"Captured event rows in fire order.","access":"read-only","virtual":true},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the detail view with the events grid.","return":{"type":"string","description":"Rendered detail view."}},"getEvents":{"signature":"public function getEvents(): list<PHPForge\\Debug\\Panel\\Event\\EventRow>","summary":"Returns the events captured during the request.","return":{"type":"list<PHPForge\\Debug\\Panel\\Event\\EventRow>","description":"Captured event rows in fire order."}},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name from the shared title enum.","return":{"type":"string","description":"Panel display name."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Returns the toolbar item showing the total event count, or `[]` when none were captured.","return":{"type":"array<int, array<string, mixed>>","description":"Single-element list with the count, or `[]`."},"visibility":"protected"},"hasEvents":{"signature":"public function hasEvents(): bool","summary":"Returns whether the capture holds any event.","return":{"type":"bool","description":"`true` when the capture holds at least one event; `false` otherwise."}},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed event snapshot backing this panel.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","isEnabled":"yii\\debug\\Panel","isVisible":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\JsonPanel":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/jsonpanel/","summary":"Renders stored payloads that do not have a registered Yii2 presentation panel.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Escaped JSON detail markup.","access":"read-only","virtual":true},"name":{"type":"string","description":"Derived panel name.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Returns the stored payload as escaped, formatted JSON.","return":{"type":"string","description":"Escaped JSON detail markup."},"throws":[{"type":"JsonException","description":"when the stored payload cannot be encoded."}]},"getName":{"signature":"public function getName(): string","summary":"Returns a readable name derived from the stable panel ID.","return":{"type":"string","description":"Derived panel name."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Stores the decoded snapshot payload for safe JSON rendering.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"}}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getToolbarItems":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","isEnabled":"yii\\debug\\Panel","isVisible":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\LogPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/logpanel/","summary":"Renders the error, warning, info, and trace log messages captured by the Logs collector.","extends":"yii\\debug\\Panel","implements":["yii\\debug\\panels\\ProvidesMemorySamples","yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered detail view.","access":"read-only","virtual":true},"memorySamples":{"type":"list<PHPForge\\Debug\\Panel\\MemorySample>","description":"Memory readings recorded alongside each captured log message.","access":"read-only","virtual":true},"messages":{"type":"list<PHPForge\\Debug\\Panel\\Log\\LogRow>","description":"Captured log rows in capture order.","access":"read-only","virtual":true},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the detail view with the logs grid.","return":{"type":"string","description":"Rendered detail view."}},"getMemorySamples":{"signature":"public function getMemorySamples(): list<PHPForge\\Debug\\Panel\\MemorySample>","summary":"Returns the memory readings recorded alongside the messages.","return":{"type":"list<PHPForge\\Debug\\Panel\\MemorySample>","description":"Memory readings recorded alongside each captured log message."}},"getMessages":{"signature":"public function getMessages(): list<PHPForge\\Debug\\Panel\\Log\\LogRow>","summary":"Returns the messages logged during the request.","return":{"type":"list<PHPForge\\Debug\\Panel\\Log\\LogRow>","description":"Captured log rows in capture order."}},"getModels":{"signature":"protected function getModels(): list<PHPForge\\Debug\\Panel\\Log\\LogRow>","summary":"Returns the typed log rows consumed by the logs grid.","return":{"type":"list<PHPForge\\Debug\\Panel\\Log\\LogRow>","description":"Rows in capture order, suitable for `yii\\data\\ArrayDataProvider`."},"visibility":"protected"},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name from the shared title enum.","return":{"type":"string","description":"Panel display name."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Builds the toolbar items: the total message count plus per-level chips (errors in `danger`, warnings in `warning`) when those levels surfaced at least one message.","return":{"type":"array<int, array<string, mixed>>","description":"Toolbar items in display order."},"visibility":"protected"},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed log snapshot backing this panel.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","isEnabled":"yii\\debug\\Panel","isVisible":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\MailPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/mailpanel/","summary":"Renders the mail messages captured by the Mail collector.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered panel markup.","access":"read-only","virtual":true},"messages":{"type":"list<PHPForge\\Debug\\Panel\\Mail\\MailEntry>","description":"Captured mail messages in send order.","access":"read-only","virtual":true},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the detail view through the shared declarative presenter.","return":{"type":"string","description":"Rendered panel markup."}},"getMessages":{"signature":"public function getMessages(): list<PHPForge\\Debug\\Panel\\Mail\\MailEntry>","summary":"Returns the mail messages dispatched during the request.","return":{"type":"list<PHPForge\\Debug\\Panel\\Mail\\MailEntry>","description":"Captured mail messages in send order."}},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name from the shared title enum.","return":{"type":"string","description":"Panel display name."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Builds the toolbar items.","return":{"type":"array<int, array<string, mixed>>","description":"Toolbar items, or `[]` when neither the current nor the previous request captured any mail."},"visibility":"protected"},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed mail snapshot backing this panel.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","isEnabled":"yii\\debug\\Panel","isVisible":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\ProfilingPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/profilingpanel/","summary":"Renders the profiling spans captured by the Profiling collector.","extends":"yii\\debug\\Panel","implements":["yii\\debug\\panels\\ProvidesMemorySamples","yii\\debug\\panels\\RequestSummaryAwarePanelInterface","yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered detail view.","access":"read-only","virtual":true},"memorySamples":{"type":"list<PHPForge\\Debug\\Panel\\MemorySample>","description":"Memory readings recorded alongside each captured profile message.","access":"read-only","virtual":true},"memoryUsage":{"type":"int","description":"Peak memory recorded for the capture, in bytes; `0` before hydration.","access":"read-only","virtual":true},"models":{"type":"list<PHPForge\\Debug\\Panel\\Profile\\ProfileRow>","description":"Spans in capture order, suitable for `yii\\data\\ArrayDataProvider`.","access":"read-only","virtual":true},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"processingTime":{"type":"float|null","description":"Total request processing time in seconds, or `null` before hydration.","access":"read-only","virtual":true},"requestSummary":{"type":"PHPForge\\Debug\\Storage\\RequestSummary","description":"Summary of the request currently being rendered.","access":"write-only","virtual":true},"toolbarData":{"type":"array<string, mixed>","description":"Toolbar payload with the title blanked on success.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the unified Timeline and profiling-details view.","return":{"type":"string","description":"Rendered detail view."}},"getMemorySamples":{"signature":"public function getMemorySamples(): list<PHPForge\\Debug\\Panel\\MemorySample>","summary":"Returns the memory readings recorded alongside the spans.","return":{"type":"list<PHPForge\\Debug\\Panel\\MemorySample>","description":"Memory readings recorded alongside each captured profile message."}},"getMemoryUsage":{"signature":"public function getMemoryUsage(): int","summary":"Returns the peak memory recorded for the request.","return":{"type":"int","description":"Peak memory recorded for the capture, in bytes; `0` before hydration."}},"getModels":{"signature":"public function getModels(): list<PHPForge\\Debug\\Panel\\Profile\\ProfileRow>","summary":"Returns the typed profiling spans consumed by the unified Timeline and details grid.","return":{"type":"list<PHPForge\\Debug\\Panel\\Profile\\ProfileRow>","description":"Spans in capture order, suitable for `yii\\data\\ArrayDataProvider`."}},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name from the shared title enum.","return":{"type":"string","description":"Panel display name."}},"getProcessingTime":{"signature":"public function getProcessingTime(): float|null","summary":"Returns the total processing time of the request.","return":{"type":"float|null","description":"Total request processing time in seconds, or `null` before hydration."}},"getToolbarData":{"signature":"public function getToolbarData(): array<string, mixed>","summary":"Hides the \"Profiling\" title from the toolbar; the gauge icon plus the time/memory metrics are self-explanatory.","return":{"type":"array<string, mixed>","description":"Toolbar payload with the title blanked on success."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Builds the toolbar items: the total processing time and the peak memory usage, rendered as neutral metric readouts.","return":{"type":"array<int, array<string, mixed>>","description":"Toolbar items in display order."},"visibility":"protected"},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed profiling snapshot backing this panel.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]},"setRequestSummary":{"signature":"public function setRequestSummary(PHPForge\\Debug\\Storage\\RequestSummary $summary): void","summary":"Supplies the canonical request start time used to position captured spans on the Timeline.","params":[{"name":"$summary","type":"PHPForge\\Debug\\Storage\\RequestSummary","description":"Summary of the request currently being rendered."}],"return":{"type":"void"}}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","isEnabled":"yii\\debug\\Panel","isVisible":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\ProviderPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/providerpanel/","summary":"Adapts any provider-owned declarative panel to the Yii2 debugger; no framework-specific presenter is needed.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered detail view.","access":"read-only","virtual":true},"icon":{"type":"string|null","default":"null","description":"Icon key resolved for this registration, or `null` to render the provider default."},"name":{"type":"string","description":"Configured display title, or the one declared by the provider.","access":"read-only","virtual":true},"provider":{"type":"PHPForge\\Debug\\Panel|null","default":"null","description":"Declarative panel supplying the identity, capture format, and presentation of this registration."},"title":{"type":"string|null","default":"null","description":"Display title resolved for this registration, or `null` to render the provider default."},"toolbarIcon":{"type":"string","description":"Configured toolbar icon key, or the one declared by the provider.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the provider's presentation of the hydrated capture.","return":{"type":"string","description":"Rendered detail view."},"throws":[{"type":"LogicException","description":"when no capture has been hydrated."}]},"getName":{"signature":"public function getName(): string","summary":"Returns the human-readable panel name, preferring the title resolved by the registration policy.","return":{"type":"string","description":"Configured display title, or the one declared by the provider."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when no provider is configured, or its ID does not match the registration."}]},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the shared Debug Core icon key, preferring the one resolved by the registration policy.","return":{"type":"string","description":"Configured toolbar icon key, or the one declared by the provider."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when no provider is configured, or its ID does not match the registration."}]},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Builds the toolbar metrics the provider declares for a capture.","return":{"type":"array<int, array<string, mixed>>","description":"Toolbar chips built from the provider's metrics, in declared order."},"visibility":"protected"},"hasContent":{"signature":"public function hasContent(): bool","summary":"Returns whether the capture holds a presentation for this panel.","return":{"type":"bool","description":"`true` when the panel carries an error or a presentation built from the capture; `false` otherwise."}},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Clears any previous error and rebuilds the presentation from the captured payload.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when no provider is configured, or its ID does not match the registration."}]},"moduleBound":{"signature":"public function moduleBound(): void","summary":"Validates the configured provider as soon as the panel is bound to the module, so misconfiguration surfaces at bootstrap instead of at render time.","return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when no provider is configured, or its ID does not match the registration."}]}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","isEnabled":"yii\\debug\\Panel","isVisible":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\ProvidesMemorySamples":{"kind":"interface","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/providesmemorysamples/","summary":"Contract for panels that feed the Profiling timeline memory graph.","methods":{"getMemorySamples":{"signature":"abstract public function getMemorySamples(): list<PHPForge\\Debug\\Panel\\MemorySample>","summary":"Returns the memory readings this panel contributes to the Timeline graph.","return":{"type":"list<PHPForge\\Debug\\Panel\\MemorySample>","description":"Samples in capture order."},"abstract":true}}},"yii\\debug\\panels\\QueuePanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/queuepanel/","summary":"Renders the queue lifecycle events captured by the Queue collector.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered panel markup.","access":"read-only","virtual":true},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"records":{"type":"list<PHPForge\\Debug\\Panel\\Queue\\JobRecord>","description":"Captured job events in event order.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the detail view through the shared declarative presenter.","return":{"type":"string","description":"Rendered panel markup."}},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name from the shared title enum.","return":{"type":"string","description":"Panel display name."}},"getRecords":{"signature":"public function getRecords(): list<PHPForge\\Debug\\Panel\\Queue\\JobRecord>","summary":"Returns the queue job records captured during the request.","return":{"type":"list<PHPForge\\Debug\\Panel\\Queue\\JobRecord>","description":"Captured job events in event order."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Builds the toolbar items.","return":{"type":"array<int, array<string, mixed>>","description":"Toolbar items, or `[]` when no events were captured."},"visibility":"protected"},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed queue snapshot backing this panel.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]},"init":{"signature":"public function init(): void","summary":"Registers the `queue-job` action.","return":{"type":"void"}}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","isEnabled":"yii\\debug\\Panel","isVisible":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\RequestPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/requestpanel/","summary":"Renders the HTTP request and response state captured by the Request collector.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered detail view.","access":"read-only","virtual":true},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Renders one composed request and routing view with a persistent overview and canonical request-data tabs.","return":{"type":"string","description":"Rendered detail view."}},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name from the shared title enum.","return":{"type":"string","description":"Panel display name."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Builds one Request toolbar group containing the resolved route followed by the response status code.","return":{"type":"array<int, array<string, mixed>>","description":"Route/status items in display order."},"visibility":"protected"},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed request snapshot backing this panel.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","isEnabled":"yii\\debug\\Panel","isVisible":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\RequestSummaryAwarePanelInterface":{"kind":"interface","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/requestsummaryawarepanelinterface/","summary":"Receives the loaded request summary before the active panel renders.","methods":{"setRequestSummary":{"signature":"abstract public function setRequestSummary(PHPForge\\Debug\\Storage\\RequestSummary $summary): void","summary":"Provides the immutable summary for the request currently being rendered.","params":[{"name":"$summary","type":"PHPForge\\Debug\\Storage\\RequestSummary","description":"Summary loaded for the capture under inspection."}],"return":{"type":"void"},"abstract":true}}},"yii\\debug\\panels\\RouterPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/routerpanel/","summary":"Renders the routing trace captured by the Router collector.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered panel markup.","access":"read-only","virtual":true},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"snapshot":{"type":"PHPForge\\Debug\\Panel\\Router\\RouterSnapshot|null","description":"Captured routing trace, or `null` before hydration.","access":"read-only","virtual":true},"standalone":{"type":"bool","default":"true","description":"Whether Router should retain its standalone toolbar and sidebar entries."},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true}},"methods":{"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the detail view through the shared declarative presenter.","return":{"type":"string","description":"Rendered panel markup."}},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name from the shared title enum.","return":{"type":"string","description":"Panel display name."}},"getSnapshot":{"signature":"public function getSnapshot(): PHPForge\\Debug\\Panel\\Router\\RouterSnapshot|null","summary":"Returns the captured routing snapshot for composition by another panel.","return":{"type":"PHPForge\\Debug\\Panel\\Router\\RouterSnapshot|null","description":"Captured routing trace, or `null` before hydration."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Builds the toolbar item with the resolved route as the value and the dispatched action in the tooltip.","return":{"type":"array<int, array<string, mixed>>","description":"Single-element list with the route chip."},"visibility":"protected"},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed routing snapshot backing this panel.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]},"isVisible":{"signature":"public function isVisible(): bool","summary":"Keeps explicitly configured Router panels standalone while allowing the built-in instance to act as a hidden compatibility data source for Request.","return":{"type":"bool","description":"`true` when the panel renders on its own; `false` when it only feeds Request."}}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","isEnabled":"yii\\debug\\Panel","moduleBound":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\UserPanel":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/userpanel/","summary":"Renders the authenticated identity captured by the User collector, optionally allowing the developer to switch to another user.","extends":"yii\\debug\\Panel","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"detail":{"type":"string","description":"Rendered panel markup.","access":"read-only","virtual":true},"displayName":{"type":"string","default":"\\PHPForge\\Debug\\Panel\\PanelTitle::USER->value","description":"Display name shown in the panel header and the toolbar chip."},"filterColumns":{"type":"array<int|string, mixed>","default":"[['attribute' => 'id', 'headerOptions' => ['class' => 'yii-debug-col-userswitch-id'], 'contentOptions' => ['class' => 'yii-debug-col-userswitch-id']], ['attribute' => 'username', 'headerOptions' => ['class' => 'yii-debug-col-userswitch-username']], ['attribute' => 'email', 'headerOptions' => ['class' => 'yii-debug-col-userswitch-email']], ['attribute' => 'status', 'headerOptions' => ['class' => 'yii-debug-col-userswitch-status'], 'contentOptions' => ['class' => 'yii-debug-col-userswitch-status']], ['attribute' => 'created_at', 'format' => ['datetime', 'php:Y-m-d H:i'], 'headerOptions' => ['class' => 'yii-debug-col-userswitch-timestamp'], 'contentOptions' => ['class' => 'yii-debug-col-userswitch-timestamp']], ['attribute' => 'updated_at', 'format' => ['datetime', 'php:Y-m-d H:i'], 'headerOptions' => ['class' => 'yii-debug-col-userswitch-timestamp'], 'contentOptions' => ['class' => 'yii-debug-col-userswitch-timestamp']]]","description":"GridView column definitions for the user-switch table."},"filterModel":{"type":"string|yii\\base\\Model|null","default":"null","description":"Filter model that powers the user-switch GridView; can be a class-name string, a model instance, or `null` to disable the search affordance."},"name":{"type":"string","description":"Panel display name.","access":"read-only","virtual":true},"ruleUserSwitch":{"type":"array<string, mixed>","default":"['allow' => false]","description":"Access-rule definition that decides who can switch user identity."},"toolbarIcon":{"type":"string","description":"Toolbar icon key.","access":"read-only","virtual":true},"user":{"type":"yii\\web\\User|null","description":"Bound user component, or `null` when the configured id does not resolve to one.","access":"read-only","virtual":true},"userComponent":{"type":"string|yii\\web\\User","default":"'user'","description":"Component id of the user component, or a `yii\\web\\User` instance to operate on directly."},"userDataProvider":{"type":"yii\\data\\DataProviderInterface","description":"Provider backing the user-switch grid.","access":"read-only","virtual":true},"usersFilterModel":{"type":"yii\\base\\Model|null","description":"Filter model instance, or `null` when it is not configured as one.","access":"read-only","virtual":true},"userSwitch":{"type":"yii\\debug\\models\\UserSwitch|null","default":"null","description":"User-switching model bound on `init()` once the panel resolves a non-guest identity."}},"methods":{"canSearchUsers":{"signature":"public function canSearchUsers(): bool","summary":"Returns whether the user-switch search affordance is available (the filter model exposes a `search()` method).","return":{"type":"bool","description":"`true` when the filter model exposes a search; `false` otherwise."}},"canSwitchUser":{"signature":"public function canSwitchUser(): bool","summary":"Returns whether the main (pre-switch) user is allowed to switch identities under `$ruleUserSwitch`.","return":{"type":"bool","description":"`true` when the main user may switch identities; `false` otherwise."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the debug module or the user component cannot be resolved."}]},"getDetail":{"signature":"public function getDetail(): string","summary":"Renders the detail view through the shared declarative presenter, followed by the user-switch form.","return":{"type":"string","description":"Rendered panel markup."}},"getName":{"signature":"public function getName(): string","summary":"Returns the panel display name (configurable via `$displayName`).","return":{"type":"string","description":"Panel display name."}},"getToolbarIcon":{"signature":"public function getToolbarIcon(): string","summary":"Returns the icon key from the shared panel icon enum.","return":{"type":"string","description":"Toolbar icon key."}},"getToolbarItems":{"signature":"protected function getToolbarItems(): array<int, array<string, mixed>>","summary":"Builds the toolbar item with the active identity id, switching the chip to a `warning` tone when impersonation is active.","return":{"type":"array<int, array<string, mixed>>","description":"Single-element list with the user chip."},"visibility":"protected"},"getUser":{"signature":"public function getUser(): yii\\web\\User|null","summary":"Returns the user component bound to this panel, or `null` when the configured component id does not resolve to a `yii\\web\\User` instance.","return":{"type":"yii\\web\\User|null","description":"Bound user component, or `null` when the configured id does not resolve to one."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the configured component cannot be retrieved from the application."}]},"getUserDataProvider":{"signature":"public function getUserDataProvider(): yii\\data\\DataProviderInterface","summary":"Returns the data provider that backs the user-switch GridView.","return":{"type":"yii\\data\\DataProviderInterface","description":"Provider backing the user-switch grid."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the filter model does not implement `yii\\debug\\models\\search\\UserSearchInterface`."}]},"getUsersFilterModel":{"signature":"public function getUsersFilterModel(): yii\\base\\Model|null","summary":"Returns the filter model instance for the GridView, or `null` when the filter model is not configured as an instance.","return":{"type":"yii\\base\\Model|null","description":"Filter model instance, or `null` when it is not configured as one."}},"hydrate":{"signature":"public function hydrate(array<string, mixed> $payload): void","summary":"Decodes the captured payload into the typed identity snapshot backing this panel.","params":[{"name":"$payload","type":"array<string, mixed>","description":"Captured panel payload."}],"return":{"type":"void"},"throws":[{"type":"PHPForge\\Debug\\Storage\\HydrationException","description":"when the payload does not match the snapshot schema."}]},"init":{"signature":"public function init(): void","summary":"Wires the user-switch model and the deny-by-default access rules for the switch actions, then adds the search filter model when the user component resolves to a non-guest identity.","return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the user component cannot be resolved or the filter model cannot be created."}]},"isEnabled":{"signature":"public function isEnabled(): bool","summary":"Returns whether the user component is resolvable; the panel is harmless on apps with no user component.","return":{"type":"bool","description":"`true` when a user component resolves; `false` otherwise."}},"moduleBound":{"signature":"public function moduleBound(): void","summary":"Attaches the user-switch access rules once the debug module binds itself to the panel.","return":{"type":"void"}}},"inherited":{"properties":{"actions":"yii\\debug\\Panel","behaviors":"yii\\base\\Component","error":"yii\\debug\\Panel","id":"yii\\debug\\Panel","module":"yii\\debug\\Panel","renderContext":"yii\\debug\\Panel","tag":"yii\\debug\\Panel","toolbarData":"yii\\debug\\Panel","url":"yii\\debug\\Panel","viewPath":"yii\\debug\\Panel"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","capture":"yii\\debug\\Panel","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getError":"yii\\debug\\Panel","getRenderContext":"yii\\debug\\Panel","getToolbarData":"yii\\debug\\Panel","getTraceLine":"yii\\debug\\Panel","getUrl":"yii\\debug\\Panel","getViewPath":"yii\\debug\\Panel","hasContent":"yii\\debug\\Panel","hasError":"yii\\debug\\Panel","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","isVisible":"yii\\debug\\Panel","off":"yii\\base\\Component","on":"yii\\base\\Component","setError":"yii\\debug\\Panel","setRenderContext":"yii\\debug\\Panel","trigger":"yii\\base\\Component"}}},"yii\\debug\\panels\\request\\RequestRoutingViewFactory":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/panels/request/requestroutingviewfactory/","summary":"Adapts Yii2 request data, the captured URL-rule trace, and the live URL manager configuration to the shared Request routing view.","methods":{"fromRequestData":{"signature":"public static function fromRequestData(array<array-key, mixed> $data, PHPForge\\Debug\\Panel\\Router\\RouterSnapshot|null $snapshot, PHPForge\\Debug\\Storage\\ExceptionSnapshot|null $error, yii\\debug\\models\\router\\RouterRules|null $routerRules = null): PHPForge\\Debug\\Panel\\Request\\Routing\\RequestRoutingView","summary":"Builds the composed routing view without evaluating controller action maps.","params":[{"name":"$data","type":"array<array-key, mixed>","description":"Captured Request panel data."},{"name":"$snapshot","type":"PHPForge\\Debug\\Panel\\Router\\RouterSnapshot|null","description":"Captured Router panel trace, when available."},{"name":"$error","type":"PHPForge\\Debug\\Storage\\ExceptionSnapshot|null","description":"Captured Router collector or hydration failure, when available."},{"name":"$routerRules","type":"yii\\debug\\models\\router\\RouterRules|null","default":"null","optional":true,"description":"Injected live URL-manager view model; primarily useful to avoid rescanning the manager when the caller already has it."}],"return":{"type":"PHPForge\\Debug\\Panel\\Request\\Routing\\RequestRoutingView","description":"Composed view of the current route and the application route inventory."},"static":true}}},"yii\\debug\\routing\\DebugUrlGenerator":{"kind":"class","modifiers":["final","readonly"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/routing/debugurlgenerator/","summary":"Yii URL-manager adapter for the framework-neutral debugger URL contract.","implements":["PHPForge\\Debug\\Routing\\DebugUrlGeneratorInterface"],"methods":{"__construct":{"signature":"public function __construct(string $moduleId = 'debug')","summary":"Binds debugger URLs to the normalized module ID.","params":[{"name":"$moduleId","type":"string","default":"'debug'","optional":true,"description":"Unique id of the debugger module; falls back to `'debug'` when empty."}]},"panel":{"signature":"public function panel(string $tag, string $panel, array<array-key, mixed> $queryParams = []): string","summary":"Builds a panel URL while keeping the captured tag and target panel authoritative.","params":[{"name":"$tag","type":"string","description":"Capture to open."},{"name":"$panel","type":"string","description":"Panel to open within that capture."},{"name":"$queryParams","type":"array<array-key, mixed>","default":"[]","optional":true,"description":"Extra query parameters; route-owned keys are ignored."}],"return":{"type":"string","description":"Absolute URL of the panel view."}}}},"yii\\debug\\service\\AccessGuard":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/accessguard/","summary":"Decides whether a request may reach the debugger.","properties":{"module":{"type":"yii\\debug\\Module","description":"Debug module read for the access configuration at call time.","visibility":"protected","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(yii\\debug\\Module $module)","summary":"Binds access checks to the debug module.","params":[{"name":"$module","type":"yii\\debug\\Module","description":"Debug module read for the access configuration at call time."}]},"allows":{"signature":"public function allows(string $ip, yii\\base\\Action|null $action = null): bool","summary":"Returns whether the request is allowed to reach the debugger.","params":[{"name":"$ip","type":"string","description":"Requesting IP address, or `''` when the request carries none."},{"name":"$action","type":"yii\\base\\Action|null","default":"null","optional":true,"description":"Action being dispatched, or `null` outside an action context."}],"return":{"type":"bool","description":"`true` when the request may reach the debugger; `false` otherwise."}}}},"yii\\debug\\service\\CapturePolicyFactory":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/capturepolicyfactory/","summary":"Builds the policy that redacts sensitive values and caps request bodies before the debugger persists a capture.","properties":{"module":{"type":"yii\\debug\\Module","description":"Debug module read for the redaction configuration at call time.","visibility":"protected","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(yii\\debug\\Module $module)","summary":"Binds capture-policy creation to the debug module.","params":[{"name":"$module","type":"yii\\debug\\Module","description":"Debug module read for the redaction configuration at call time."}]},"create":{"signature":"public function create(list<string> $additionalSensitiveKeys = []): PHPForge\\Debug\\Capture\\CapturePolicy","summary":"Creates the shared persistent-data policy, optionally extending its exact-key list for one collector.","params":[{"name":"$additionalSensitiveKeys","type":"list<string>","default":"[]","optional":true,"description":"Collector-specific exact keys added without weakening global rules."}],"return":{"type":"PHPForge\\Debug\\Capture\\CapturePolicy","description":"Shared policy covering the global rules and the collector-specific keys."},"throws":[{"type":"InvalidArgumentException","description":"when the configured keys, prefixes, patterns, or body limit are rejected."}]}}},"yii\\debug\\service\\CollectorRegistrar":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/collectorregistrar/","summary":"Resolves the configured debug collectors and validates their stable IDs before request capture.","properties":{"module":{"type":"yii\\debug\\Module","description":"Debug module owning the collectors and read for configuration at call time.","visibility":"protected","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(yii\\debug\\Module $module)","summary":"Binds collector registration to the debug module.","params":[{"name":"$module","type":"yii\\debug\\Module","description":"Debug module owning the collectors and read for configuration at call time."}]},"register":{"signature":"public function register(array<string, array<string, mixed>|string> $core, array<array-key, array<string, mixed>|Closure(PHPForge\\Debug\\Capture\\CapturePolicy): mixed|PHPForge\\Debug\\CollectorInterface|string> $configured): PHPForge\\Debug\\Collector\\CollectorCoordinator","summary":"Instantiates every configured collector, instruments it, and returns the coordinator driving the capture.","params":[{"name":"$core","type":"array<string, array<string, mixed>|string>","description":"Built-in collector definitions indexed by collector ID."},{"name":"$configured","type":"array<array-key, array<string, mixed>|Closure(PHPForge\\Debug\\Capture\\CapturePolicy): mixed|PHPForge\\Debug\\CollectorInterface|string>","description":"Collector definitions declared by the application; a `Closure` result is validated at call time."}],"return":{"type":"PHPForge\\Debug\\Collector\\CollectorCoordinator","description":"Coordinator holding the registered collectors in resolution order."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when a collector configuration, a collector ID, a dispatcher entry, or the resolved set is invalid."}]}}},"yii\\debug\\service\\CoreDefinitions":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/coredefinitions/","summary":"Merges the built-in collector and panel definitions with the ones the application declares.","methods":{"isAvailable":{"signature":"public static function isAvailable(string $id): bool","summary":"Returns whether the optional package a built-in depends on is installed.","params":[{"name":"$id","type":"string","description":"Stable ID of a built-in collector or panel."}],"return":{"type":"bool","description":"`true` when the package is installed, or when the ID depends on none; `false` otherwise."},"static":true},"merge":{"signature":"public static function merge(array<string, yii\\debug\\service\\TDefinition> $core, array<array-key, yii\\debug\\service\\TDefinition> $configured): array<array-key, yii\\debug\\service\\TDefinition>","summary":"Drops the built-ins whose optional package is unavailable, then appends the configured entries.","params":[{"name":"$core","type":"array<string, yii\\debug\\service\\TDefinition>","description":"Built-in definitions indexed by stable ID."},{"name":"$configured","type":"array<array-key, yii\\debug\\service\\TDefinition>","description":"Definitions declared by the application."}],"return":{"type":"array<array-key, yii\\debug\\service\\TDefinition>","description":"Available built-ins not overridden by configuration, then the configured entries."},"static":true}}},"yii\\debug\\service\\DispatcherAttacher":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/dispatcherattacher/","summary":"Hands every collector named in `yii\\debug\\Module::$dispatchers` to the application component the application pairs it with, so the component emits its PSR-14 events into the collector.","properties":{"module":{"type":"yii\\debug\\Module","description":"Debug module owning the dispatcher map and the collector coordinator, read at call time.","visibility":"protected","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(yii\\debug\\Module $module)","summary":"Binds dispatcher attachment to the module's collectors and component map.","params":[{"name":"$module","type":"yii\\debug\\Module","description":"Debug module owning the dispatcher map and the collector coordinator, read at call time."}]},"attach":{"signature":"public function attach(yii\\base\\Application $app): void","summary":"Attaches every configured collector to its application component.","params":[{"name":"$app","type":"yii\\base\\Application","description":"Application owning the components."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when a collector is not a PSR-14 dispatcher, or when its component is unknown, instantiated without a writable `eventDispatcher` property, or unable to take the collector."}]},"dispatcherArgumentKey":{"signature":"protected function dispatcherArgumentKey(class-string $class, array<array-key, mixed> $arguments): int|string|null","summary":"Returns the `__construct()` key a component definition takes its dispatcher under.","params":[{"name":"$class","type":"class-string","description":"Component class whose constructor is inspected."},{"name":"$arguments","type":"array<array-key, mixed>","description":"Arguments the definition already declares."}],"return":{"type":"int|string|null","description":"Key to write the dispatcher under, or `null` when the constructor declares no `eventDispatcher` parameter."},"visibility":"protected"}}},"yii\\debug\\service\\LogTargetFactory":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/logtargetfactory/","summary":"Resolves the configured log target the module attaches to the application logger during the bootstrap.","properties":{"module":{"type":"yii\\debug\\Module","description":"Debug module read for the log-target configuration at call time.","visibility":"protected","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(yii\\debug\\Module $module)","summary":"Binds log-target resolution to the debug module.","params":[{"name":"$module","type":"yii\\debug\\Module","description":"Debug module read for the log-target configuration at call time."}]},"create":{"signature":"public function create(): yii\\debug\\LogTarget","summary":"Resolves `yii\\debug\\Module::$logTarget` into a `yii\\debug\\LogTarget` instance, accepting a class-name string, a configuration array with a `class` key, or an already-instantiated target.","return":{"type":"yii\\debug\\LogTarget","description":"Target built from the configured class name, array, or instance."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the configured class is missing or does not produce a `yii\\debug\\LogTarget`."}]}}},"yii\\debug\\service\\PanelCatalog":{"kind":"class","modifiers":["final","readonly"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/panelcatalog/","summary":"Carries the panels the debugger registered and the catalog describing their display order.","properties":{"panels":{"type":"array<string, yii\\debug\\Panel>","description":"Enabled panels indexed by ID in display order.","readonly":true,"promoted":true},"registry":{"type":"PHPForge\\Debug\\Registration\\PanelRegistry","description":"Effective catalog carrying the display order and the IDs disabled by configuration.","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(array<string, yii\\debug\\Panel> $panels, PHPForge\\Debug\\Registration\\PanelRegistry $registry)","summary":"Pairs the registered panels with their effective registry.","params":[{"name":"$panels","type":"array<string, yii\\debug\\Panel>","description":"Enabled panels indexed by ID in display order."},{"name":"$registry","type":"PHPForge\\Debug\\Registration\\PanelRegistry","description":"Effective catalog carrying the display order and the IDs disabled by configuration."}]}}},"yii\\debug\\service\\PanelRegistrar":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/panelregistrar/","summary":"Instantiates the configured debug panels and resolves the catalog describing their display order.","properties":{"module":{"type":"yii\\debug\\Module","description":"Debug module owning the panels and read for configuration at call time.","visibility":"protected","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(yii\\debug\\Module $module)","summary":"Binds panel registration to the debug module.","params":[{"name":"$module","type":"yii\\debug\\Module","description":"Debug module owning the panels and read for configuration at call time."}]},"register":{"signature":"public function register(array<string, array<string, mixed>|class-string<yii\\debug\\Panel>|class-string<PHPForge\\Debug\\Panel>|string> $core, array<array-key, array<string, mixed>|yii\\debug\\Panel|PHPForge\\Debug\\Panel|string> $configured): yii\\debug\\service\\PanelCatalog","summary":"Instantiates every configured panel, binds it to the module, and returns the catalog in display order.","params":[{"name":"$core","type":"array<string, array<string, mixed>|class-string<yii\\debug\\Panel>|class-string<PHPForge\\Debug\\Panel>|string>","description":"Built-in panel definitions indexed by panel ID."},{"name":"$configured","type":"array<array-key, array<string, mixed>|yii\\debug\\Panel|PHPForge\\Debug\\Panel|string>","description":"Panel definitions declared by the application."}],"return":{"type":"yii\\debug\\service\\PanelCatalog","description":"Registered panels in display order and the catalog describing them."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when a definition, a registration option, or the resolved catalog is invalid."}]}}},"yii\\debug\\service\\ShellContextFactory":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/shellcontextfactory/","summary":"Builds the page shell of the debugger actions: the bare shell installed before an action runs, and the full shell with brand bar and sidebar of the history, panel, and standalone pages.","properties":{"module":{"type":"yii\\debug\\Module","description":"Debug module read for the page title and the Configuration panel at call time.","visibility":"protected","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(yii\\debug\\Module $module)","summary":"Binds debugger page-shell creation to the debug module.","params":[{"name":"$module","type":"yii\\debug\\Module","description":"Debug module read for the page title and the Configuration panel at call time."}]},"bare":{"signature":"public function bare(string $theme): yii\\debug\\widgets\\shell\\ShellContext","summary":"Returns the shell that echoes raw content without the brand bar or sidebar.","params":[{"name":"$theme","type":"string","description":"Resolved light/dark theme."}],"return":{"type":"yii\\debug\\widgets\\shell\\ShellContext","description":"Bare shell."}},"forSnapshot":{"signature":"public function forSnapshot(string $mode, string $theme, array<string, PHPForge\\Debug\\Storage\\RequestSummary> $manifest, string|null $activeTag, PHPForge\\Debug\\Storage\\RequestSummary|null $summary, PHPForge\\Debug\\View\\Sidebar\\SidebarView $sidebar): yii\\debug\\widgets\\shell\\ShellContext","summary":"Returns the shell of an index, view, or standalone page.","params":[{"name":"$mode","type":"string","description":"One of the `yii\\debug\\widgets\\shell\\ShellContext` mode constants."},{"name":"$theme","type":"string","description":"Resolved light/dark theme."},{"name":"$manifest","type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>","description":"Manifest entries indexed by tag, newest first."},{"name":"$activeTag","type":"string|null","description":"Tag focused by the page, or `null` on the index."},{"name":"$summary","type":"PHPForge\\Debug\\Storage\\RequestSummary|null","description":"Summary of the focused entry, or `null` on the index."},{"name":"$sidebar","type":"PHPForge\\Debug\\View\\Sidebar\\SidebarView","description":"Prepared sidebar payload."}],"return":{"type":"yii\\debug\\widgets\\shell\\ShellContext","description":"Shell for the requested page."}}}},"yii\\debug\\service\\StandaloneActionResolver":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/standaloneactionresolver/","summary":"Merges the standalone actions the debugger exposes and resolves a route against the resulting map.","properties":{"module":{"type":"yii\\debug\\Module","description":"Debug module read for the action map and the default route at call time.","visibility":"protected","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(yii\\debug\\Module $module)","summary":"Binds standalone action mapping and resolution to the debug module.","params":[{"name":"$module","type":"yii\\debug\\Module","description":"Debug module read for the action map and the default route at call time."}]},"map":{"signature":"public function map(array<string, class-string> $core, array<string, yii\\debug\\Panel> $panels, array<string, array<string, mixed>|class-string> $configured): array<string, array<string, mixed>|class-string>","summary":"Merges the built-in and panel-declared standalone actions with the configured ones.","params":[{"name":"$core","type":"array<string, class-string>","description":"Built-in actions indexed by action ID."},{"name":"$panels","type":"array<string, yii\\debug\\Panel>","description":"Registered panels contributing their own actions."},{"name":"$configured","type":"array<string, array<string, mixed>|class-string>","description":"Actions configured by the application."}],"return":{"type":"array<string, array<string, mixed>|class-string>","description":"Merged action map indexed by action ID."}},"resolve":{"signature":"public function resolve(string $route): yii\\base\\Action|null","summary":"Resolves a route against the module action map and binds the action it names.","params":[{"name":"$route","type":"string","description":"Action route relative to the module."}],"return":{"type":"yii\\base\\Action|null","description":"Action bound to the module, or `null` when the route names no mapped action."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when object creation fails for a resolvable entry."}]}}},"yii\\debug\\service\\ToolbarPresenter":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/toolbarpresenter/","summary":"Renders the debug toolbar into a page and reports the captured request through the debug response headers.","properties":{"module":{"type":"yii\\debug\\Module","description":"Debug module read for the toolbar configuration at call time.","visibility":"protected","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(yii\\debug\\Module $module)","summary":"Binds toolbar presentation to the debug module.","params":[{"name":"$module","type":"yii\\debug\\Module","description":"Debug module read for the toolbar configuration at call time."}]},"html":{"signature":"public function html(): string","summary":"Returns the toolbar HTML: a `<yii-debug-toolbar>` custom element wired with data attributes the bundled JS reads.","return":{"type":"string","description":"Rendered `<yii-debug-toolbar>` element."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the module has not been bootstrapped."}]},"injectIntoErrorPage":{"signature":"public function injectIntoErrorPage(yii\\web\\ErrorHandlerRenderEvent $event): void","summary":"Rewrites the rendered HTML of an error page so it carries the toolbar and its runtime script.","params":[{"name":"$event","type":"yii\\web\\ErrorHandlerRenderEvent","description":"Render event carrying the error-page HTML."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the module has not been bootstrapped."}]},"render":{"signature":"public function render(yii\\web\\View $view): void","summary":"Echoes the toolbar and its runtime script at the end of the page body.","params":[{"name":"$view","type":"yii\\web\\View","description":"View handling the current response."}],"return":{"type":"void"},"throws":[{"type":"Throwable","description":"when the view dynamic render fails for the current request."}]},"renderer":{"signature":"protected function renderer(yii\\base\\View|null $view = null): yii\\debug\\ToolbarRenderer","summary":"Creates the Yii2-specific toolbar renderer.","params":[{"name":"$view","type":"yii\\base\\View|null","default":"null","optional":true,"description":"View handling the current response, or `null` to use the application view."}],"return":{"type":"yii\\debug\\ToolbarRenderer","description":"Configured toolbar renderer."},"visibility":"protected"},"writeDebugHeaders":{"signature":"public function writeDebugHeaders(yii\\web\\Response $response): void","summary":"Sets the tag, duration, and full-view link of the captured request on the response.","params":[{"name":"$response","type":"yii\\web\\Response","description":"Response about to be sent."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the module has not been bootstrapped."}]}}},"yii\\debug\\service\\YiiLogo":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/service/yiilogo/","summary":"Serves the Yii mark as a data URI, reading the shared frontend asset once and caching the result.","methods":{"dataUri":{"signature":"public static function dataUri(): string","summary":"Returns the Yii logo as a data URI ready to drop into `<img src=\"…\">` or `<link rel=\"icon\">`.","return":{"type":"string","description":"Logo as a data URI."},"throws":[{"type":"RuntimeException","description":"when the packaged logo cannot be read."}],"static":true},"reset":{"signature":"public static function reset(): void","summary":"Drops the cached URI, so the next read composes it from the packaged asset again.","return":{"type":"void"},"static":true},"set":{"signature":"public static function set(string $logo): void","summary":"Sets the logo data URI returned by `dataUri()`.","params":[{"name":"$logo","type":"string","description":"Logo as a data URI."}],"return":{"type":"void"},"static":true}}},"yii\\debug\\storage\\SnapshotStore":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/storage/snapshotstore/","summary":"Yii2 compatibility facade for the framework-neutral snapshot store.","methods":{"__construct":{"signature":"public function __construct(string $path, int $dirMode, int|null $fileMode)","summary":"Creates a Yii2 facade for the framework-neutral store.","params":[{"name":"$path","type":"string","description":"Storage directory path."},{"name":"$dirMode","type":"int","description":"Directory permissions used when creating the storage path."},{"name":"$fileMode","type":"int|null","description":"File permissions or `null` to preserve the system default."}]},"forModule":{"signature":"public static function forModule(yii\\debug\\Module $module): self","summary":"Creates a store bound to the module's data path and permission settings.","params":[{"name":"$module","type":"yii\\debug\\Module","description":"Debug module whose `dataPath`, `dirMode`, and `fileMode` configure the store."}],"return":{"type":"self","description":"Store bound to the module settings."},"static":true},"loadManifest":{"signature":"public function loadManifest(): array<string, PHPForge\\Debug\\Storage\\RequestSummary>","summary":"Returns manifest entries ordered from newest to oldest.","return":{"type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>","description":"Newest entries first."}},"loadManifestResult":{"signature":"public function loadManifestResult(): PHPForge\\Debug\\Storage\\ManifestReadResult","summary":"Returns manifest entries together with an optional core storage diagnostic.","return":{"type":"PHPForge\\Debug\\Storage\\ManifestReadResult","description":"Manifest entries plus the storage diagnostic, when one was raised."}},"readSnapshot":{"signature":"public function readSnapshot(string $tag): PHPForge\\Debug\\Storage\\DebugSnapshot|null","summary":"Returns a stored snapshot or `null` when unavailable.","params":[{"name":"$tag","type":"string","description":"Snapshot tag."}],"return":{"type":"PHPForge\\Debug\\Storage\\DebugSnapshot|null","description":"Hydrated snapshot or `null` when unavailable."}},"writeSnapshot":{"signature":"public function writeSnapshot(PHPForge\\Debug\\Storage\\DebugSnapshot $snapshot, int $historySize): list<PHPForge\\Debug\\Storage\\RequestSummary>","summary":"Writes a snapshot and manifest update through one core storage transaction.","params":[{"name":"$snapshot","type":"PHPForge\\Debug\\Storage\\DebugSnapshot","description":"Snapshot to persist."},{"name":"$historySize","type":"int","description":"Maximum number of retained entries."}],"return":{"type":"list<PHPForge\\Debug\\Storage\\RequestSummary>","description":"Entries evicted from the manifest."}},"writeSnapshotResult":{"signature":"public function writeSnapshotResult(PHPForge\\Debug\\Storage\\DebugSnapshot $snapshot, int $historySize): yii\\debug\\storage\\SnapshotWriteResult","summary":"Writes a snapshot and returns the committed manifest from the same storage transaction, without a second read.","params":[{"name":"$snapshot","type":"PHPForge\\Debug\\Storage\\DebugSnapshot","description":"Snapshot to persist."},{"name":"$historySize","type":"int","description":"Maximum number of retained entries."}],"return":{"type":"yii\\debug\\storage\\SnapshotWriteResult","description":"Committed entries and evictions."}}}},"yii\\debug\\storage\\SnapshotWriteResult":{"kind":"class","modifiers":["final","readonly"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/storage/snapshotwriteresult/","summary":"Carries the committed manifest and the summaries evicted by a snapshot write.","properties":{"entries":{"type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>|null","description":"Committed entries, or `null` when a follow-up manifest read failed.","readonly":true,"promoted":true},"removed":{"type":"list<PHPForge\\Debug\\Storage\\RequestSummary>","description":"Entries evicted from the manifest.","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(array<string, PHPForge\\Debug\\Storage\\RequestSummary>|null $entries, list<PHPForge\\Debug\\Storage\\RequestSummary> $removed)","summary":"Records the committed manifest and evicted request summaries.","params":[{"name":"$entries","type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>|null","description":"Committed entries, or `null` when a follow-up manifest read failed."},{"name":"$removed","type":"list<PHPForge\\Debug\\Storage\\RequestSummary>","description":"Entries evicted from the manifest."}]}}},"yii\\debug\\view\\ViewMessage":{"kind":"enum","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/view/viewmessage/","summary":"Presentation text specific to this adapter, kept out of Debug Core because it names Yii2 concepts.","backingType":"string","cases":{"ASSET_BUNDLE_COUNT":{"value":"'Number of asset bundles loaded'","description":"Toolbar metric counting the asset bundles registered during the request."},"COMPARISON_COUNTS_SCOPE":{"value":"'Counts compare typed JSON leaf paths without rendering captured values. Open ' . 'either panel for its redacted detail.'","description":"Explanation shown above the panel comparison table, stating what the counts do and do not reveal."},"CONFIG_ACTION_EMPTY":{"value":"'No requests captured yet'","description":"Tooltip of the brand-bar action while no capture is available to open."},"CONFIG_ACTION_TOOLTIP":{"value":"'Open the Configuration panel'","description":"Tooltip of the brand-bar action leading to the configuration page."},"DUMP_COUNT":{"value":"'Number of dumped variables'","description":"Toolbar metric counting the values passed to `Yii::debug()` during the request."},"DUMP_EMPTY_HEADLINE":{"value":"'No variables dumped in this request'","description":"Headline of the Dump panel empty state."},"EVENT_EMPTY_HEADLINE":{"value":"'No events triggered in this request'","description":"Headline of the Events panel empty state."},"EVENT_FILTER_CLASS":{"value":"'Filter by event class'","description":"Accessible name of the event-class filter input."},"EVENT_FILTER_NAME":{"value":"'Filter by event name'","description":"Accessible name of the event-name filter input."},"EVENT_FILTER_SENDER":{"value":"'Filter by sender'","description":"Accessible name of the sender-class filter input."},"EVENT_FILTER_STATIC":{"value":"'Filter by static events'","description":"Accessible name of the static-event filter input."},"HISTORY_TOOLTIP":{"value":"'Browse all captured requests'","description":"Tooltip of the sidebar entry leading to the request history."},"PANEL_TOOLTIP_NEWEST":{"value":"'Open this panel on the newest request'","description":"Tooltip of a sidebar panel entry that opens on the newest capture."},"PANEL_TOOLTIP_NO_SELECTION":{"value":"'Pick a request first'","description":"Tooltip of a sidebar panel entry while the history grid has no capture selected."},"ROUTE_INVENTORY_SOURCE":{"value":"'Current URL manager configuration'","description":"Provenance label shown above the route inventory, naming the Yii2 component it was read from."},"TIMELINE_UNAVAILABLE_FILTERED":{"value":"'The filtered spans cannot be positioned on this request timeline.'","description":"Explanation of the Timeline empty state when the filtered spans carry no usable geometry."},"USER_SWITCH_INSTRUCTIONS":{"value":"'Press Enter or Space on a user row to switch identity.'","description":"Instructions announced to assistive technology above the user-switch grid."},"USER_SWITCH_ROW_FALLBACK":{"value":"'Switch to selected user'","description":"Accessible name of a user-switch row whose key cannot be named."}}},"yii\\debug\\widgets\\DebugDataColumn":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/widgets/debugdatacolumn/","summary":"Applies accessible defaults to debug GridView data columns.","extends":"yii\\grid\\DataColumn","implements":["yii\\base\\Configurable"],"methods":{"init":{"signature":"public function init(): void","summary":"Marks the header cell as a column scope and gives the filter input an accessible name derived from its header label.","return":{"type":"void"}}},"inherited":{"properties":{"attribute":"yii\\grid\\DataColumn","content":"yii\\grid\\Column","contentOptions":"yii\\grid\\Column","enableSorting":"yii\\grid\\DataColumn","encodeLabel":"yii\\grid\\DataColumn","filter":"yii\\grid\\DataColumn","filterAttribute":"yii\\grid\\DataColumn","filterInputOptions":"yii\\grid\\DataColumn","filterOptions":"yii\\grid\\Column","footer":"yii\\grid\\Column","footerOptions":"yii\\grid\\Column","format":"yii\\grid\\DataColumn","grid":"yii\\grid\\Column","header":"yii\\grid\\Column","headerOptions":"yii\\grid\\Column","label":"yii\\grid\\DataColumn","options":"yii\\grid\\Column","sortLinkOptions":"yii\\grid\\DataColumn","value":"yii\\grid\\DataColumn","visible":"yii\\grid\\Column"},"methods":{"__call":"yii\\base\\BaseObject","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\BaseObject","__isset":"yii\\base\\BaseObject","__set":"yii\\base\\BaseObject","__unset":"yii\\base\\BaseObject","canGetProperty":"yii\\base\\BaseObject","canSetProperty":"yii\\base\\BaseObject","className":"yii\\base\\BaseObject","getDataCellValue":"yii\\grid\\DataColumn","getHeaderCellLabel":"yii\\grid\\DataColumn","hasMethod":"yii\\base\\BaseObject","hasProperty":"yii\\base\\BaseObject","renderDataCell":"yii\\grid\\Column","renderDataCellContent":"yii\\grid\\DataColumn","renderFilterCell":"yii\\grid\\Column","renderFilterCellContent":"yii\\grid\\DataColumn","renderFooterCell":"yii\\grid\\Column","renderFooterCellContent":"yii\\grid\\Column","renderHeaderCell":"yii\\grid\\Column","renderHeaderCellContent":"yii\\grid\\DataColumn"}}},"yii\\debug\\widgets\\FilterBanner":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/debug/reference/widgets/filterbanner/","summary":"Renders the active-filter banner above a panel's GridView.","extends":"yii\\base\\Widget","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"properties":{"activeFilters":{"type":"array<string, mixed>|null","default":"null","description":"Normalized filter values to display, or `null` to derive them from the request."},"searchModel":{"type":"yii\\base\\Model|null","default":"null","description":"The search model whose `yii\\base\\Model::formName()` defines the query-param prefix to scan (for example, 'Debug', 'Log', 'Db', 'Profile', 'Event', 'Mail', 'User')."}},"methods":{"run":{"signature":"public function run(): string","summary":"Returns rendered banner HTML, or empty string when no filters are active.","return":{"type":"string","description":"Rendered banner, or `''` when no filter is active."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when the widget is instantiated without a `searchModel`."}]}},"inherited":{"properties":{"autoIdPrefix":"yii\\base\\Widget","behaviors":"yii\\base\\Component","id":"yii\\base\\Widget","view":"yii\\base\\Widget","viewPath":"yii\\base\\Widget"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Widget","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\base\\Widget","begin":"yii\\base\\Widget","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","end":"yii\\base\\Widget","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getId":"yii\\base\\Widget","getView":"yii\\base\\Widget","getViewPath":"yii\\base\\Widget","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\Widget","off":"yii\\base\\Component","on":"yii\\base\\Component","render":"yii\\base\\Widget","renderFile":"yii\\base\\Widget","setId":"yii\\base\\Widget","setView":"yii\\base\\Widget","trigger":"yii\\base\\Component","widget":"yii\\base\\Widget"},"events":{"EVENT_INIT":"yii\\base\\Widget","EVENT_BEFORE_RUN":"yii\\base\\Widget","EVENT_AFTER_RUN":"yii\\base\\Widget"}}},"yii\\debug\\widgets\\GridView":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/widgets/gridview/","summary":"Renders a debugger grid whose footer sentence comes from the shared `PHPForge\\Debug\\View\\Grid\\GridCount` renderer.","extends":"yii\\grid\\GridView","implements":["yii\\base\\ViewContextInterface","yii\\base\\Configurable"],"methods":{"renderSummary":{"signature":"public function renderSummary(): string","summary":"Renders the row-count sentence for the rows currently on screen.","return":{"type":"string","description":"Rendered row-count sentence."}}},"inherited":{"properties":{"afterRow":"yii\\grid\\GridView","autoIdPrefix":"yii\\base\\Widget","beforeRow":"yii\\grid\\GridView","behaviors":"yii\\base\\Component","caption":"yii\\grid\\GridView","captionOptions":"yii\\grid\\GridView","clientScript":"yii\\grid\\GridView","columns":"yii\\grid\\GridView","dataColumnClass":"yii\\grid\\GridView","dataProvider":"yii\\widgets\\BaseListView","emptyCell":"yii\\grid\\GridView","emptyText":"yii\\widgets\\BaseListView","emptyTextOptions":"yii\\widgets\\BaseListView","filterErrorOptions":"yii\\grid\\GridView","filterErrorSummaryOptions":"yii\\grid\\GridView","filterModel":"yii\\grid\\GridView","filterOnFocusOut":"yii\\grid\\GridView","filterPosition":"yii\\grid\\GridView","filterRowOptions":"yii\\grid\\GridView","filterSelector":"yii\\grid\\GridView","filterUrl":"yii\\grid\\GridView","footerRowOptions":"yii\\grid\\GridView","formatter":"yii\\grid\\GridView","headerRowOptions":"yii\\grid\\GridView","id":"yii\\base\\Widget","layout":"yii\\grid\\GridView","options":"yii\\grid\\GridView","overrideFilterSelector":"yii\\grid\\GridView","pager":"yii\\widgets\\BaseListView","placeFooterAfterBody":"yii\\grid\\GridView","rowOptions":"yii\\grid\\GridView","showFooter":"yii\\grid\\GridView","showHeader":"yii\\grid\\GridView","showOnEmpty":"yii\\grid\\GridView","sorter":"yii\\widgets\\BaseListView","summary":"yii\\widgets\\BaseListView","summaryOptions":"yii\\widgets\\BaseListView","tableOptions":"yii\\grid\\GridView","view":"yii\\base\\Widget","viewPath":"yii\\base\\Widget"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterRun":"yii\\base\\Widget","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeRun":"yii\\base\\Widget","begin":"yii\\base\\Widget","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","createDataColumn":"yii\\grid\\GridView","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","end":"yii\\base\\Widget","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getClientOptions":"yii\\grid\\GridView","getId":"yii\\base\\Widget","getView":"yii\\base\\Widget","getViewPath":"yii\\base\\Widget","guessColumns":"yii\\grid\\GridView","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\grid\\GridView","initColumns":"yii\\grid\\GridView","off":"yii\\base\\Component","on":"yii\\base\\Component","render":"yii\\base\\Widget","renderCaption":"yii\\grid\\GridView","renderColumnGroup":"yii\\grid\\GridView","renderEmpty":"yii\\widgets\\BaseListView","renderErrors":"yii\\grid\\GridView","renderFile":"yii\\base\\Widget","renderFilters":"yii\\grid\\GridView","renderItems":"yii\\grid\\GridView","renderPager":"yii\\widgets\\BaseListView","renderSection":"yii\\grid\\GridView","renderSorter":"yii\\widgets\\BaseListView","renderTableBody":"yii\\grid\\GridView","renderTableFooter":"yii\\grid\\GridView","renderTableHeader":"yii\\grid\\GridView","renderTableRow":"yii\\grid\\GridView","run":"yii\\grid\\GridView","setId":"yii\\base\\Widget","setView":"yii\\base\\Widget","trigger":"yii\\base\\Component","widget":"yii\\base\\Widget"},"constants":{"FILTER_POS_HEADER":"yii\\grid\\GridView","FILTER_POS_FOOTER":"yii\\grid\\GridView","FILTER_POS_BODY":"yii\\grid\\GridView"},"events":{"EVENT_INIT":"yii\\base\\Widget","EVENT_BEFORE_RUN":"yii\\base\\Widget","EVENT_AFTER_RUN":"yii\\base\\Widget"}}},"yii\\debug\\widgets\\history\\HistoryComparison":{"kind":"class","modifiers":["final","readonly"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/widgets/history/historycomparison/","summary":"Builds a privacy-preserving comparison of two immutable debugger snapshots.","properties":{"baseline":{"type":"PHPForge\\Debug\\Storage\\DebugSnapshot","description":"Baseline snapshot.","readonly":true},"metrics":{"type":"list<PHPForge\\Debug\\Comparison\\SummaryMetricComparison>","description":"Request-summary metric comparisons in canonical history order.","readonly":true},"panels":{"type":"list<PHPForge\\Debug\\Comparison\\PanelComparison>","description":"Per-panel structural comparisons in configured display order.","readonly":true},"target":{"type":"PHPForge\\Debug\\Storage\\DebugSnapshot","description":"Target snapshot.","readonly":true}},"methods":{"fromSnapshots":{"signature":"public static function fromSnapshots(PHPForge\\Debug\\Storage\\DebugSnapshot $baseline, PHPForge\\Debug\\Storage\\DebugSnapshot $target, array<string, string> $panelLabels = []): self","summary":"Creates a comparison from two snapshots.","params":[{"name":"$baseline","type":"PHPForge\\Debug\\Storage\\DebugSnapshot","description":"Capture used as the reference side of the comparison."},{"name":"$target","type":"PHPForge\\Debug\\Storage\\DebugSnapshot","description":"Capture compared against the baseline."},{"name":"$panelLabels","type":"array<string, string>","default":"[]","optional":true,"description":"Display names indexed by stable panel ID."}],"return":{"type":"self","description":"Comparison holding the metric and panel differences between both captures."},"static":true},"hasDifferences":{"signature":"public function hasDifferences(): bool","summary":"Returns whether either summary metrics or panel payloads differ.","return":{"type":"bool","description":"`true` when metrics or panel payloads differ; `false` when the captures match."}}}},"yii\\debug\\widgets\\history\\HistoryRowRenderer":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/widgets/history/historyrowrenderer/","summary":"Renders the History index summary header + the per-cell HTML consumed by the GridView columns and the typed `rowOptions` builder.","methods":{"buildRowOptions":{"signature":"public static function buildRowOptions(PHPForge\\Debug\\View\\History\\HistoryRow $row, yii\\debug\\models\\search\\DebugSearch $searchModel): array<string, mixed>","summary":"Builds the `rowOptions` attribute map for one captured-request row. The `data-*` attributes feed the sidebar's history cursor.","params":[{"name":"$row","type":"PHPForge\\Debug\\View\\History\\HistoryRow","description":"Typed history row."},{"name":"$searchModel","type":"yii\\debug\\models\\search\\DebugSearch","description":"Search model deciding whether the row's status counts as critical."}],"return":{"type":"array<string, mixed>","description":"Attribute map the GridView applies to the `<tr>`."},"static":true},"renderAjaxCell":{"signature":"public static function renderAjaxCell(PHPForge\\Debug\\View\\History\\HistoryRow $row): string","summary":"Renders the AJAX column cell (`'Yes'` / `'No'`).","params":[{"name":"$row","type":"PHPForge\\Debug\\View\\History\\HistoryRow","description":"Typed history row."}],"return":{"type":"string","description":"Rendered cell."},"static":true},"renderDurationCell":{"signature":"public static function renderDurationCell(PHPForge\\Debug\\View\\History\\HistoryRow $row, float $maxProcessingTime): string","summary":"Renders the duration column cell (`'X ms'` or `'(not set)'` muted placeholder when missing), with a micro-gauge rail scaled against the page maximum when one exists.","params":[{"name":"$row","type":"PHPForge\\Debug\\View\\History\\HistoryRow","description":"Typed history row."},{"name":"$maxProcessingTime","type":"float","description":"Page maximum in seconds (`PHPForge\\Debug\\View\\History\\HistoryScale::$maxProcessingTime`)."}],"return":{"type":"string","description":"Rendered cell."},"static":true},"renderMemoryCell":{"signature":"public static function renderMemoryCell(PHPForge\\Debug\\View\\History\\HistoryRow $row, int $maxPeakMemory): string","summary":"Renders the memory column cell (`'X.XXX MB'` or `'(not set)'`), with a micro-gauge rail scaled against the page maximum when one exists.","params":[{"name":"$row","type":"PHPForge\\Debug\\View\\History\\HistoryRow","description":"Typed history row."},{"name":"$maxPeakMemory","type":"int","description":"Page maximum in bytes (`PHPForge\\Debug\\View\\History\\HistoryScale::$maxPeakMemory`)."}],"return":{"type":"string","description":"Rendered cell."},"static":true},"renderMethodCell":{"signature":"public static function renderMethodCell(PHPForge\\Debug\\View\\History\\HistoryRow $row): string","summary":"Renders the method column cell as vocabulary-colored text, or an empty string when the method was not captured.","params":[{"name":"$row","type":"PHPForge\\Debug\\View\\History\\HistoryRow","description":"Typed history row."}],"return":{"type":"string","description":"Rendered cell, or `''` when no method was captured."},"static":true},"renderSqlCountCell":{"signature":"public static function renderSqlCountCell(PHPForge\\Debug\\View\\History\\HistoryRow $row, yii\\debug\\panels\\DbPanel $dbPanel): string","summary":"Renders the SQL-query column cell (count + warning chip + deep-link to the DB panel).","params":[{"name":"$row","type":"PHPForge\\Debug\\View\\History\\HistoryRow","description":"Typed history row."},{"name":"$dbPanel","type":"yii\\debug\\panels\\DbPanel","description":"Panel supplying the critical-query threshold."}],"return":{"type":"string","description":"Rendered cell."},"static":true},"renderStatusCell":{"signature":"public static function renderStatusCell(PHPForge\\Debug\\View\\History\\HistoryRow $row): string","summary":"Renders the status column cell as a tone badge of the HTTP status code, or a muted dash pill when the code was not captured (`0`).","params":[{"name":"$row","type":"PHPForge\\Debug\\View\\History\\HistoryRow","description":"Typed history row."}],"return":{"type":"string","description":"Rendered cell."},"static":true},"renderSummary":{"signature":"public static function renderSummary(PHPForge\\Debug\\View\\History\\HistorySummary $summary): string","summary":"Renders the summary header (`<header class=\"yii-debug-grid-summary\">`) with the request total and the status-bucket pills.","params":[{"name":"$summary","type":"PHPForge\\Debug\\View\\History\\HistorySummary","description":"Totals and status buckets for the listed captures."}],"return":{"type":"string","description":"Rendered header, or `''` when no request was captured."},"static":true},"renderTagCell":{"signature":"public static function renderTagCell(PHPForge\\Debug\\View\\History\\HistoryRow $row): string","summary":"Renders the request-tag column cell as a link to the panel view.","params":[{"name":"$row","type":"PHPForge\\Debug\\View\\History\\HistoryRow","description":"Typed history row."}],"return":{"type":"string","description":"Rendered cell."},"static":true},"renderTimeCell":{"signature":"public static function renderTimeCell(PHPForge\\Debug\\View\\History\\HistoryRow $row): string","summary":"Renders the time column cell — compact `HH:MM:SS` with a full `yyyy-MM-dd HH:mm:ss` tooltip on hover.","params":[{"name":"$row","type":"PHPForge\\Debug\\View\\History\\HistoryRow","description":"Typed history row."}],"return":{"type":"string","description":"Rendered cell, or a muted placeholder when no time was captured."},"static":true},"renderUrlCell":{"signature":"public static function renderUrlCell(PHPForge\\Debug\\View\\History\\HistoryRow $row): string","summary":"Renders the URL column cell with a hover-truncate wrapper.","params":[{"name":"$row","type":"PHPForge\\Debug\\View\\History\\HistoryRow","description":"Typed history row."}],"return":{"type":"string","description":"Rendered cell."},"static":true}}},"yii\\debug\\widgets\\shell\\ShellContext":{"kind":"class","modifiers":["final","readonly"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/widgets/shell/shellcontext/","summary":"Typed view-model for the debugger shell (brand bar + sidebar + main wrapper).","properties":{"configUrl":{"type":"string|null","description":"Configuration-chip URL on the brand bar; `null` when no manifest entry is available (chip renders disabled).","readonly":true,"promoted":true},"debugThemeAttributes":{"type":"array<string, string>","description":"Document attributes applied to `<html>`, including the language and resolved light/dark theme.","readonly":true,"promoted":true},"mode":{"type":"string","description":"Shell mode ('view' / 'index' / 'bare').","readonly":true,"promoted":true},"peakMemory":{"type":"string|null","description":"Formatted peak memory ('X.XX MB'); `null` when no captured summary is present.","readonly":true,"promoted":true},"phpVersion":{"type":"string","description":"PHP version label shown in the brand bar.","readonly":true,"promoted":true},"resolvedTheme":{"type":"string","description":"Resolved theme ('dark' / 'light') fed to the shell header for the toggle button.","readonly":true,"promoted":true},"sidebar":{"type":"PHPForge\\Debug\\View\\Sidebar\\SidebarView|null","description":"Sidebar view-model, or `null` for bare pages.","readonly":true,"promoted":true},"themeIconMoon":{"type":"string","description":"Pre-rendered moon glyph for the theme-toggle button.","readonly":true,"promoted":true},"themeIconSun":{"type":"string","description":"Pre-rendered sun glyph for the theme-toggle button.","readonly":true,"promoted":true},"title":{"type":"string","description":"Document `<title>` already escaped.","readonly":true,"promoted":true},"useShell":{"type":"bool","description":"`true` when the shell layout (brand bar + sidebar) should render; `false` for 'bare' which echoes raw content into `<body>`.","readonly":true,"promoted":true},"yiiVersion":{"type":"string","description":"Yii framework version label shown in the brand bar.","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(string $mode, bool $useShell, string $title, array $debugThemeAttributes, string $resolvedTheme, string $themeIconSun, string $themeIconMoon, string $yiiVersion, string $phpVersion, string|null $peakMemory, string|null $configUrl, PHPForge\\Debug\\View\\Sidebar\\SidebarView|null $sidebar)","summary":"Collects the prepared content and presentation state for a debugger page.","params":[{"name":"$mode","type":"string"},{"name":"$useShell","type":"bool"},{"name":"$title","type":"string"},{"name":"$debugThemeAttributes","type":"array"},{"name":"$resolvedTheme","type":"string"},{"name":"$themeIconSun","type":"string"},{"name":"$themeIconMoon","type":"string"},{"name":"$yiiVersion","type":"string"},{"name":"$phpVersion","type":"string"},{"name":"$peakMemory","type":"string|null"},{"name":"$configUrl","type":"string|null"},{"name":"$sidebar","type":"PHPForge\\Debug\\View\\Sidebar\\SidebarView|null"}]}},"constants":{"MODE_BARE":{"value":"'bare'","description":"Mode that echoes raw content into `<body>` without the brand bar or sidebar."},"MODE_INDEX":{"value":"'index'","description":"Mode of the history grid, where the sidebar navigator acts as a cursor over the captured requests."},"MODE_VIEW":{"value":"'view'","description":"Mode of a panel view, where the sidebar highlights the active panel of the inspected request."}}},"yii\\debug\\widgets\\sidebar\\SidebarDataNormalizer":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/debug/reference/widgets/sidebar/sidebardatanormalizer/","summary":"Builds the Debug Core sidebar view-model used by history and request views, with every route already resolved through `yii\\helpers\\Url::to()`.","methods":{"fromIndex":{"signature":"public static function fromIndex(array<string, yii\\debug\\Panel> $panels, array<string, PHPForge\\Debug\\Storage\\RequestSummary> $manifest, string $cursorInit = ''): PHPForge\\Debug\\View\\Sidebar\\SidebarView","summary":"Builds the sidebar view-model for `index.php` (history grid). Surfaces the newest captured request as the snapshot, marks the History entry as active, and wires the navigator buttons as a GridView cursor.","params":[{"name":"$panels","type":"array<string, yii\\debug\\Panel>","description":"Registered panels keyed by ID."},{"name":"$manifest","type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>","description":"Captured request summaries, newest first."},{"name":"$cursorInit","type":"string","default":"''","optional":true,"description":"Tag the cursor should land on; empty to start at the newest capture."}],"return":{"type":"PHPForge\\Debug\\View\\Sidebar\\SidebarView","description":"Sidebar view-model for the history grid."},"static":true},"fromStandalone":{"signature":"public static function fromStandalone(array<string, yii\\debug\\Panel> $panels, array<string, PHPForge\\Debug\\Storage\\RequestSummary> $manifest): PHPForge\\Debug\\View\\Sidebar\\SidebarView","summary":"Builds the sidebar view-model for a standalone debugger page such as phpinfo.","params":[{"name":"$panels","type":"array<string, yii\\debug\\Panel>","description":"Registered panels keyed by ID."},{"name":"$manifest","type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>","description":"Captured request summaries, newest first."}],"return":{"type":"PHPForge\\Debug\\View\\Sidebar\\SidebarView","description":"Sidebar view-model for the standalone page."},"static":true},"fromView":{"signature":"public static function fromView(array<string, yii\\debug\\Panel> $panels, array<string, PHPForge\\Debug\\Storage\\RequestSummary> $manifest, yii\\debug\\Panel $activePanel, string $tag, PHPForge\\Debug\\Storage\\RequestSummary $summary): PHPForge\\Debug\\View\\Sidebar\\SidebarView","summary":"Builds the sidebar view-model for panel `view` requests. Surfaces the active request snapshot and highlights the active panel in the nav.","params":[{"name":"$panels","type":"array<string, yii\\debug\\Panel>","description":"Registered panels keyed by ID."},{"name":"$manifest","type":"array<string, PHPForge\\Debug\\Storage\\RequestSummary>","description":"Captured request summaries, newest first."},{"name":"$activePanel","type":"yii\\debug\\Panel","description":"Panel being inspected, highlighted in the navigation."},{"name":"$tag","type":"string","description":"Tag of the capture under inspection."},{"name":"$summary","type":"PHPForge\\Debug\\Storage\\RequestSummary","description":"Summary of the capture under inspection."}],"return":{"type":"PHPForge\\Debug\\View\\Sidebar\\SidebarView","description":"Sidebar view-model for the panel view."},"static":true}}}}}
