Core Group: debug

Generated by php build/docs/rvn-docs.php. Do not edit this file by hand.

| Symbol | Kind | Summary | @return | Service Keys |
| --- | --- | --- | --- | --- |
| exec() | function | Executes a raw SQL statement and records it in the profiler. | int\|false Number of affected rows, or false on failure. | (none) |
| normalizeFiles() | function | Normalizes uploaded-file metadata into one compact debug-safe structure. | array<string, mixed> | (none) |
| prepare() | function | Prepares a statement, injecting the profiled statement class when not overridden by the caller. | PDOStatement\|false Prepared statement, or false on failure. | (none) |
| query() | function | Executes a query and records it in the profiler. | PDOStatement\|false Result statement, or false on failure. | (none) |
| Raven\Core\Debug\ClientProfiler::normalizeClientIp() | method | Normalizes one raw client-IP value into a validated address. | string\|null Normalized IP address, or null when invalid. | (none) |
| Raven\Core\Debug\ClientProfiler::profile() | method | Builds normalized client network context from request server values. | array{ip: string\|null, hostname: string\|null, forwarded_for: string} | (none) |
| Raven\Core\Debug\ClientProfiler::resolveClientHostname() | method | Resolves one reverse-DNS hostname for a normalized client IP. | string\|null Normalized hostname, or null when unavailable/invalid. | (none) |
| Raven\Core\Debug\LocalProfiler::snapshot() | method | Returns a normalized local runtime environment snapshot. | array{ | (none) |
| Raven\Core\Debug\OutputProfiler::arm() | method | Starts request profiling and installs one response wrapper when toolbar rendering is allowed. | void | (none) |
| Raven\Core\Debug\OutputProfiler::inject() | method | Injects toolbar HTML before the closing body tag when possible. | string Response body with toolbar markup inserted before </body>. | (none) |
| Raven\Core\Debug\OutputProfiler::isHtmlResponseCandidate() | method | Returns true when the current response body can safely receive toolbar markup. | bool True when the response appears to be HTML and not a redirect. | (none) |
| Raven\Core\Debug\OutputProfiler::render() | method | Builds the full profiler toolbar HTML from a captured request snapshot. | string Rendered toolbar HTML for injection, or empty string when access is denied. | (none) |
| Raven\Core\Debug\OutputProfiler::string() | method | (No summary.) | (No @return.) | (none) |
| Raven\Core\Debug\OutputProfilerPolicy::fromConfig() | method | Resolves all output profiler display flags from the site configuration. | array{ | (none) |
| Raven\Core\Debug\OutputProfilerSanitizer::prettyJson() | method | Encodes one associative payload as pretty-printed JSON for debug display. | string Pretty-printed JSON string, or {} when encoding fails. | (none) |
| Raven\Core\Debug\OutputProfilerSanitizer::sanitizeArray() | method | Recursively sanitizes one nested array, redacting sensitive keys and hostile payloads. | array<int\|string, mixed> | (none) |
| Raven\Core\Debug\QueryProfiler::isEnabled() | method | Returns true when query recording is active for the current request. | bool True when the profiler should receive query events. | (none) |
| Raven\Core\Debug\QueryProfiler::recordQuery() | method | Records a single query event including its execution time and outcome. | void | (none) |
| Raven\Core\Debug\QueryProfilerPdo::__construct() | method | Opens a PDO connection and wires all prepared statements through the profiler. | void | (none) |
| Raven\Core\Debug\QueryProfilerStatement::__construct() | method | Receives the connection label and optional profiler injected by QueryProfilerPdo via ATTRSTATEMENTCLASS. | void | (none) |
| Raven\Core\Debug\QueryProfilerStatement::bindParam() | method | Binds a variable by reference and records a placeholder in the profiler payload. | bool True on success. | (none) |
| Raven\Core\Debug\QueryProfilerStatement::bindValue() | method | Binds a value and records it for inclusion in the profiler payload on execute. | bool True on success. | (none) |
| Raven\Core\Debug\QueryProfilerStatement::execute() | method | Executes the statement and records its query, parameters, and duration in the profiler. | bool True on success. | (none) |
| Raven\Core\Debug\RequestProfiler::captureRenderTrace() | method | Captures the first render trace snapshot recorded during template rendering. | void | (none) |
| Raven\Core\Debug\RequestProfiler::clearOutputs() | method | Removes every registered custom output renderer. | void | (none) |
| Raven\Core\Debug\RequestProfiler::disable() | method | Disables profiling for the current request. | void | (none) |
| Raven\Core\Debug\RequestProfiler::enable() | method | Enables request profiling and clamps the maximum retained query rows. | void | (none) |
| Raven\Core\Debug\RequestProfiler::hasOutput() | method | Reports whether one named custom output has been registered. | bool True when a renderer exists for the normalized id. | (none) |
| Raven\Core\Debug\RequestProfiler::isEnabled() | method | Reports whether the current request is actively collecting profile data. | bool True when request profiling is enabled for this request. | (none) |
| Raven\Core\Debug\RequestProfiler::recordQuery() | method | Stores one normalized SQL query record on the current request snapshot. | void | (none) |
| Raven\Core\Debug\RequestProfiler::registerOutput() | method | Registers one named custom request-profiler output renderer. | void | (none) |
| Raven\Core\Debug\RequestProfiler::renderAllOutputs() | method | Renders every registered custom output from the current request snapshot. | array<string, string> | (none) |
| Raven\Core\Debug\RequestProfiler::renderOutput() | method | Renders one custom output from the current request snapshot. | string Rendered output, or an empty string when no renderer matches. | (none) |
| Raven\Core\Debug\RequestProfiler::snapshot() | method | Returns the full normalized request-profiler snapshot for the active request. | array{ | (none) |
| Raven\Core\Debug\RequestProfiler::start() | method | Resets request-profiler state for the active request scope. | void | (none) |
| Raven\Core\Debug\RequestProfilerAdapter::isEnabled() | method | Reports whether the request profiler is enabled for the current request. | bool True when query events should be forwarded to the collector. | (none) |
| Raven\Core\Debug\RequestProfilerAdapter::recordQuery() | method | Forwards one database query event into the request-profiler collector. | void | (none) |
| Raven\Core\Debug\RequestProfilerOutput::id() | method | Returns the stable id used to register and look up this output. | string Normalized output id. | (none) |
| Raven\Core\Debug\RequestProfilerOutput::render() | method | Renders one custom output from the current request-profiler snapshot. | string Rendered output payload, typically HTML. | (none) |
| Raven\Core\Debug\RouteProfiler::__construct() | method | (No summary.) | void | (none) |
| Raven\Core\Debug\RouteProfiler::buildRows() | method | Builds all routing inventory rows from normalized route context inputs. | array<int, array{ | (none) |
| Raven\Core\Debug\RouteProfiler::int() | method | (No summary.) | (No @return.) | (none) |
| Raven\Core\Debug\UniquenessProfiler::exists() | method | Returns whether a slug exists within a given channel scope in a database table. | bool True when a conflicting row already exists. | (none) |
| record() | function | Forwards one query record into the active profiler when query collection is enabled. | void | (none) |
| sanitizeServer() | function | Filters the server payload down to a safe allow-list for profiler rendering. | array<string, mixed> | (none) |
| sanitizeStringValue() | function | Sanitizes one scalar string, truncating oversized values and filtering hostile patterns. | string Sanitized value safe for debug rendering. | (none) |
| truncateValue() | function | Truncates long scalar payloads so profiler output remains bounded and readable. | string Possibly truncated scalar string. | (none) |

Service-Key Grouping (context[&#039;rvn&#039;])

  • No $rvn[...] service keys detected for this group.

Parameter Details

exec()

  • File: private/sys/Debug/QueryProfilerPdo.php
  • Service Keys: (none)
  • Params:
  • string $statement SQL statement to execute directly.

normalizeFiles()

  • File: private/sys/Debug/OutputProfilerSanitizer.php
  • Service Keys: (none)
  • Params:
  • array&lt;string, mixed&gt; $files

prepare()

  • File: private/sys/Debug/QueryProfilerPdo.php
  • Service Keys: (none)
  • Params:
  • string $query SQL query string to prepare.
  • array&lt;int|string, mixed&gt; $options PDO driver options for the statement.

query()

  • File: private/sys/Debug/QueryProfilerPdo.php
  • Service Keys: (none)
  • Params:
  • string $query SQL query to execute.
  • int|null $fetchMode Optional PDO fetch mode constant.
  • mixed ...$fetchModeArgs Additional fetch-mode arguments forwarded to the parent.

Raven\Core\Debug\ClientProfiler::normalizeClientIp()

  • File: private/sys/Debug/ClientProfiler.php
  • Service Keys: (none)
  • Params:
  • string $rawIp Raw IP string from server or forwarded headers.

Raven\Core\Debug\ClientProfiler::profile()

  • File: private/sys/Debug/ClientProfiler.php
  • Service Keys: (none)
  • Params:
  • array&lt;string, mixed&gt;|null $server Optional server map; defaults to \$_SERVER\.

Raven\Core\Debug\ClientProfiler::resolveClientHostname()

  • File: private/sys/Debug/ClientProfiler.php
  • Service Keys: (none)
  • Params:
  • string|null $ipAddress Normalized client IP.

Raven\Core\Debug\LocalProfiler::snapshot()

  • File: private/sys/Debug/LocalProfiler.php
  • Service Keys: (none)
  • Params:
  • array&lt;string, mixed&gt;|null $server Optional server map; defaults to \$_SERVER\.

Raven\Core\Debug\OutputProfiler::arm()

  • File: private/sys/Debug/OutputProfiler.php
  • Service Keys: (none)
  • Params:
  • array{
  • string $scope Request scope label (\public\ or \panel\) for profiler output.
  • string $requestMethod Active HTTP method.
  • string $requestPath Scope-local request path shown in the toolbar.
  • bool $enabledForScope Whether the current scope is configured to show the toolbar.
  • callable(): bool $canRenderProfiler Scope-specific callback that re-checks current auth/path rules.

Raven\Core\Debug\OutputProfiler::inject()

  • File: private/sys/Debug/OutputProfiler.php
  • Service Keys: (none)
  • Params:
  • string $body Current buffered response body.
  • string $profilerHtml Output profiler markup to inject.

Raven\Core\Debug\OutputProfiler::isHtmlResponseCandidate()

  • File: private/sys/Debug/OutputProfiler.php
  • Service Keys: (none)
  • Params:
  • string $body Current buffered response body.

Raven\Core\Debug\OutputProfiler::render()

  • File: private/sys/Debug/OutputProfiler.php
  • Service Keys: (none)
  • Params:
  • array{
  • array{
  • array&lt;string, mixed&gt; $context Response/request metadata shown in the toolbar.

Raven\Core\Debug\OutputProfiler::string()

  • File: private/sys/Debug/OutputProfiler.php
  • Service Keys: (none)
  • Params: (none)

Raven\Core\Debug\OutputProfilerPolicy::fromConfig()

  • File: private/sys/Debug/OutputProfilerPolicy.php
  • Service Keys: (none)
  • Params:
  • Config $config The site config instance to read debug flag values from.

Raven\Core\Debug\OutputProfilerSanitizer::prettyJson()

  • File: private/sys/Debug/OutputProfilerSanitizer.php
  • Service Keys: (none)
  • Params:
  • array&lt;int|string, mixed&gt; $value

Raven\Core\Debug\OutputProfilerSanitizer::sanitizeArray()

  • File: private/sys/Debug/OutputProfilerSanitizer.php
  • Service Keys: (none)
  • Params:
  • array&lt;int|string, mixed&gt; $value
  • int $depth Current recursion depth used to enforce max nesting.

Raven\Core\Debug\QueryProfiler::isEnabled()

  • File: private/sys/Debug/QueryProfiler.php
  • Service Keys: (none)
  • Params: (none)

Raven\Core\Debug\QueryProfiler::recordQuery()

  • File: private/sys/Debug/QueryProfiler.php
  • Service Keys: (none)
  • Params:
  • string $connection Profiler label for the originating connection (e.g., &#039;app&#039;, &#039;auth&#039;).
  • string $mode Execution mode: &#039;exec&#039;, &#039;query&#039;, or &#039;execute&#039;.
  • string $sql Raw SQL string that was executed.
  • array&lt;int|string, mixed&gt;|null $params Bound parameter map, or null when not applicable.
  • float $durationMs Wall-clock execution time in milliseconds.
  • bool $success True when the query completed without error.
  • string|null $error Error message on failure, null on success.

Raven\Core\Debug\QueryProfilerPdo::__construct()

  • File: private/sys/Debug/QueryProfilerPdo.php
  • Service Keys: (none)
  • Params:
  • string $dsn PDO DSN string.
  • string|null $username Database username (null for SQLite).
  • string|null $password Database password (null for SQLite).
  • array&lt;int|string, mixed&gt; $options PDO driver options.
  • string $connectionLabel Profiler label identifying this connection (e.g., &#039;app&#039;, &#039;auth&#039;).
  • QueryProfiler|null $queryProfiler Profiler instance; null disables query recording.

Raven\Core\Debug\QueryProfilerStatement::__construct()

  • File: private/sys/Debug/QueryProfilerStatement.php
  • Service Keys: (none)
  • Params:
  • string $connectionLabel Profiler label identifying the parent connection.
  • QueryProfiler|null $queryProfiler Profiler instance; null disables recording for this statement.

Raven\Core\Debug\QueryProfilerStatement::bindParam()

  • File: private/sys/Debug/QueryProfilerStatement.php
  • Service Keys: (none)
  • Params:
  • string|int $param Parameter identifier (named :placeholder or positional index).
  • mixed $var Variable to bind by reference.
  • int $type PDO::PARAM_* type constant.
  • int $maxLength Pre-allocation hint for output parameters.
  • mixed $driverOptions Driver-specific options.

Raven\Core\Debug\QueryProfilerStatement::bindValue()

  • File: private/sys/Debug/QueryProfilerStatement.php
  • Service Keys: (none)
  • Params:
  • string|int $param Parameter identifier (named :placeholder or positional index).
  • mixed $value Value to bind.
  • int $type PDO::PARAM_* type constant.

Raven\Core\Debug\QueryProfilerStatement::execute()

  • File: private/sys/Debug/QueryProfilerStatement.php
  • Service Keys: (none)
  • Params:
  • array&lt;int|string, mixed&gt;|null $params Optional parameter array; merged with any bound values.

Raven\Core\Debug\RequestProfiler::captureRenderTrace()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params:
  • array&lt;int, array&lt;string, mixed&gt;&gt; $trace

Raven\Core\Debug\RequestProfiler::clearOutputs()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params: (none)

Raven\Core\Debug\RequestProfiler::disable()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params: (none)

Raven\Core\Debug\RequestProfiler::enable()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params:
  • int $maxQueries Maximum number of query rows to retain in memory.

Raven\Core\Debug\RequestProfiler::hasOutput()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params:
  • string $id Requested output id.

Raven\Core\Debug\RequestProfiler::isEnabled()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params: (none)

Raven\Core\Debug\RequestProfiler::recordQuery()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params:
  • string $connection Logical connection label such as \app\ or \auth\.
  • string $mode Query execution mode reported by \QueryProfilerPdo\.
  • string $sql Raw SQL text for the executed statement.
  • array&lt;int|string, mixed&gt;|null $params Bound parameters captured for the statement.
  • float $durationMs Query duration in milliseconds.
  • bool $success Whether the statement completed successfully.
  • string|null $error Optional driver error text when the statement failed.

Raven\Core\Debug\RequestProfiler::registerOutput()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params:
  • RequestProfilerOutput $output Output renderer keyed by its \id()\ value.

Raven\Core\Debug\RequestProfiler::renderAllOutputs()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params:
  • array&lt;string, mixed&gt; $context

Raven\Core\Debug\RequestProfiler::renderOutput()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params:
  • string $id Requested output id.
  • array&lt;string, mixed&gt; $context

Raven\Core\Debug\RequestProfiler::snapshot()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params: (none)

Raven\Core\Debug\RequestProfiler::start()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params:
  • float $requestStart Request start timestamp from the entrypoint or web server.
  • string $scope Scope label such as \public\ or \panel\.

Raven\Core\Debug\RequestProfilerAdapter::isEnabled()

  • File: private/sys/Debug/RequestProfilerAdapter.php
  • Service Keys: (none)
  • Params: (none)

Raven\Core\Debug\RequestProfilerAdapter::recordQuery()

  • File: private/sys/Debug/RequestProfilerAdapter.php
  • Service Keys: (none)
  • Params:
  • string $connection Logical connection label such as \app\ or \auth\.
  • string $mode Query execution mode reported by the profiled PDO wrapper.
  • string $sql Raw SQL statement text.
  • array&lt;int|string, mixed&gt;|null $params Bound query parameters.
  • float $durationMs Query duration in milliseconds.
  • bool $success Whether the statement completed successfully.
  • string|null $error Optional driver error text when execution failed.

Raven\Core\Debug\RequestProfilerOutput::id()

  • File: private/sys/Debug/RequestProfilerOutput.php
  • Service Keys: (none)
  • Params: (none)

Raven\Core\Debug\RequestProfilerOutput::render()

  • File: private/sys/Debug/RequestProfilerOutput.php
  • Service Keys: (none)
  • Params:
  • array&lt;string, mixed&gt; $snapshot Full request-profiler snapshot payload.
  • array&lt;string, mixed&gt; $context Optional caller-provided render context.

Raven\Core\Debug\RouteProfiler::__construct()

  • File: private/sys/Debug/RouteProfiler.php
  • Service Keys: (none)
  • Params:
  • InputSanitizer $input Shared text/path normalization helper.

Raven\Core\Debug\RouteProfiler::buildRows()

  • File: private/sys/Debug/RouteProfiler.php
  • Service Keys: (none)
  • Params:
  • array{

Raven\Core\Debug\RouteProfiler::int()

  • File: private/sys/Debug/RouteProfiler.php
  • Service Keys: (none)
  • Params: (none)

Raven\Core\Debug\UniquenessProfiler::exists()

  • File: private/sys/Debug/UniquenessProfiler.php
  • Service Keys: (none)
  • Params:
  • PDO $db Active database connection.
  • string $table Fully-qualified table name (already prefixed).
  • string $slug Slug value to check for conflicts.
  • int|null $channelId Channel id to scope the lookup; null or 0 targets the root channel.
  • int|null $excludeId Optional record id to exclude from the check (used on update).
  • string $excludePlaceholder Named placeholder for the exclude-id parameter (default &#039;exclude_id&#039;).
  • string $channelColumn Column name holding the channel reference (default &#039;channel&#039;).

record()

  • File: private/sys/Debug/QueryProfilerPdo.php
  • Service Keys: (none)
  • Params:
  • string $mode Query execution mode label (\exec\, \query\, \execute\).
  • string $sql Executed SQL string.
  • array&lt;int|string, mixed&gt;|null $params
  • float $durationMs Query duration in milliseconds.
  • bool $success Whether execution completed successfully.
  • string|null $error Optional driver error text when execution fails.

sanitizeServer()

  • File: private/sys/Debug/OutputProfilerSanitizer.php
  • Service Keys: (none)
  • Params:
  • array&lt;string, mixed&gt; $server

sanitizeStringValue()

  • File: private/sys/Debug/OutputProfilerSanitizer.php
  • Service Keys: (none)
  • Params:
  • string $value Raw scalar string.

truncateValue()

  • File: private/sys/Debug/RequestProfiler.php
  • Service Keys: (none)
  • Params:
  • string $value Raw scalar value.