Skip to content
PHP Ecosystem
Explore

Action

API reference › Debug › actions › Action

8 subclasses

Base class for the standalone debugger actions dispatched through Module::$actionMap.

Owns the plumbing the removed debug controller used to provide: typed module access, manifest caching, per-tag snapshot loading with retries, shared shell-context preparation, layout-wrapped view rendering, and the panel error view.

PropertyTypeDescriptionDefined by
$behaviors read-onlyarray<yii\base\Behavior<static>>List of behaviors attached to this component.yii\base\Component
$controlleryii\base\T|nullThe controller that owns this action, or null when the action runs standalone. via Module::$actionMap Default: null.yii\base\Action
$debugModule read-onlyyii\debug\ModuleOwning debug module.Action
$idstring|nullID of the action; null between construction and dispatcher post-assignment for standalone actions resolved through Module::$actionMap or Module::$actionNamespace. Default: null.yii\base\Action
$manifest read-onlyarray<string, PHPForge\Debug\Storage\RequestSummary>Manifest entries indexed by tag.Action
$moduleyii\base\Module|nullThe owning module, or null if neither a module nor a controller is attached. Available since 22.0.yii\base\Action
$summaryPHPForge\Debug\Storage\RequestSummary|nullSummary metadata for the active debug entry, populated by loadData(). Default: null.Action
$uniqueId read-onlystringThe unique ID of this action among the whole application.yii\base\Action
$viewPath read-onlystringAbsolute path to the debugger views.Action
MethodDescriptionDefined by
__construct()Constructor.yii\base\Action
__call()Calls the named method which is not a class method.yii\base\Component
__clone()This method is called after the object is created by cloning an existing one.yii\base\Component
__get()Returns the value of a component property.yii\base\Component
__isset()Checks if a property is set, i.e. defined and not null.yii\base\Component
__set()Sets the value of a component property.yii\base\Component
__unset()Sets a component property to be null.yii\base\Component
attachBehavior()Attaches a behavior to this component.yii\base\Component
attachBehaviors()Attaches a list of behaviors to the component.yii\base\Component
behaviors()Returns a list of behaviors that this component should behave as.yii\base\Component
canGetProperty()Returns a value indicating whether a property can be read.yii\base\Component
canSetProperty()Returns a value indicating whether a property can be set.yii\base\Component
className() staticReturns the fully qualified name of this class.yii\base\BaseObject
detachBehavior()Detaches a behavior from the component.yii\base\Component
detachBehaviors()Detaches all behaviors from the component.yii\base\Component
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.yii\base\Component
getBehavior()Returns the named behavior object.yii\base\Component
getBehaviors()Returns all behaviors attached to this component.yii\base\Component
getDebugModule()Returns the owning debug module.Action
getManifest()Returns the debug entry manifest, reloading it from the log target on demand.Action
getModule()Returns the module that owns this action when invoked standalone.yii\base\Action
getUniqueId()Returns the unique ID of this action among the whole application.yii\base\Action
getViewPath()Returns the view directory shared by every debugger page.Action
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.yii\base\Component
hasMethod()Returns a value indicating whether a method is defined.yii\base\Component
hasProperty()Returns a value indicating whether a property is defined for this component.yii\base\Component
init()Initializes the object.yii\base\BaseObject
loadData()Loads the debug entry for the given tag into every registered panel.Action
off()Detaches an existing event handler from this component.yii\base\Component
on()Attaches an event handler to an event.yii\base\Component
prepareShell()Prepares the shared shell for a request panel or nested panel action.Action
render()Renders a debugger view wrapped in the shared page layout.Action
renderPartial()Renders a debugger view without the page layout.Action
runWithParams()Runs this action with the specified parameters.yii\base\Action
setModule()Sets the module that owns this action when invoked standalone.yii\base\Action
trigger()Triggers an event.yii\base\Component
afterRun() protectedThis method is called right after run() is executed.yii\base\Action
beforeRun() protectedForces the HTML response format and installs the bare shell before the action body runs.Action
createBareShellContext() protectedBuilds the bare shell installed by beforeRun() through Module::getShellContextFactory().Action
createPanelRenderContext() protectedBuilds the portable state available to shared panel renderers for the active snapshot.Action
createShellContext() protectedBuilds the shared shell for an index or view page through Module::getShellContextFactory().Action
getLogTarget() protectedReturns the initialized debug log target.Action
getMailCollector() protectedReturns the registered mail collector.Action
getPanel() protectedReturns a registered panel by ID.Action
prepareIndexShell() protectedPrepares the shared shell for the request history page.Action
renderPanelError() protectedRenders a JSON-safe panel exception snapshot through Yii’s exception view.Action
resolveStandaloneParams() protectedResolves the parameters of run() using the same HTTP-aware binder as Controller::bindActionParams().yii\web\Action
resolveTheme() protectedResolves the effective light or dark theme.Action
public function getDebugModule(): yii\debug\Module

Returns the owning debug module.

Returns

yii\debug\Module: Owning debug module.

Throws

public function getManifest(bool $forceReload = false): array<string, PHPForge\Debug\Storage\RequestSummary>

Returns the debug entry manifest, reloading it from the log target on demand.

Parameters

ParameterTypeDescription
$forceReloadbooltrue to bypass the in-memory cache and re-read the manifest from disk.

Returns

array<string, PHPForge\Debug\Storage\RequestSummary>: Manifest entries indexed by tag.

public function getViewPath(): string

Returns the view directory shared by every debugger page.

Returns

string: Absolute path to the debugger views.

public function loadData(string $tag, int $maxRetry = 0): void

Loads the debug entry for the given tag into every registered panel.

Retries up to $maxRetry times (waiting one second between attempts) because debug data is logged from a PHP shutdown function whose execution may be delayed (notably when xdebug is enabled).

Parameters

ParameterTypeDescription
$tagstringTag of the debug entry to load.
$maxRetryintMaximum number of retries before giving up.

Throws

See also

public function prepareShell(yii\debug\Panel $activePanel, string $tag): void

Prepares the shared shell for a request panel or nested panel action.

Parameters

ParameterTypeDescription
$activePanelyii\debug\PanelPanel focused by the rendered page.
$tagstringTag of the loaded debug entry.

Throws

public function render(string $view, array<string, mixed> $params = []): string

Renders a debugger view wrapped in the shared page layout.

Parameters

ParameterTypeDescription
$viewstringView name relative to getViewPath().
$paramsarray<string, mixed>View parameters.

Returns

string: Rendered page markup.

public function renderPartial(string $view, array<string, mixed> $params = []): string

Renders a debugger view without the page layout.

Parameters

ParameterTypeDescription
$viewstringView name relative to getViewPath().
$paramsarray<string, mixed>View parameters.

Returns

string: Rendered view markup.

protected function beforeRun(): mixed

Forces the HTML response format and installs the bare shell before the action body runs.

Returns

mixed

protected function createBareShellContext(): yii\debug\widgets\shell\ShellContext

Builds the bare shell installed by beforeRun() through Module::getShellContextFactory().

Returns

yii\debug\widgets\shell\ShellContext: Shell that echoes raw content without the brand bar or sidebar.

protected function createPanelRenderContext(yii\debug\Panel $panel, string $tag): PHPForge\Debug\Panel\PanelRenderContext

Builds the portable state available to shared panel renderers for the active snapshot.

Parameters

ParameterTypeDescription
$panelyii\debug\PanelPanel being rendered.
$tagstringCapture under inspection.

Returns

PHPForge\Debug\Panel\PanelRenderContext: State shared with the portable renderers.

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

Builds the shared shell for an index or view page through Module::getShellContextFactory().

Parameters

ParameterTypeDescription
$modestringOne of the ShellContext mode constants.
$manifestarray<string, PHPForge\Debug\Storage\RequestSummary>Manifest entries indexed by tag.
$activeTagstring|nullTag focused by the page, or null on the index.
$summaryPHPForge\Debug\Storage\RequestSummary|nullSummary of the focused entry, or null on the index.
$sidebarPHPForge\Debug\View\Sidebar\SidebarViewPrepared sidebar payload.

Returns

yii\debug\widgets\shell\ShellContext: Shell for the requested page.

protected function getLogTarget(): yii\debug\LogTarget

Returns the initialized debug log target.

Returns

yii\debug\LogTarget: Log target used to read the manifest and per-tag panel payloads.

Throws

protected function getMailCollector(): yii\debug\collectors\MailCollector

Returns the registered mail collector.

Returns

yii\debug\collectors\MailCollector: Mail collector used to resolve captured mail files.

Throws

protected function getPanel(string $id): yii\debug\Panel

Returns a registered panel by ID.

Parameters

ParameterTypeDescription
$idstringPanel ID to resolve.

Returns

yii\debug\Panel: Panel instance matching the given ID.

Throws

protected function prepareIndexShell(array<string, PHPForge\Debug\Storage\RequestSummary> $manifest, string $cursor): void

Prepares the shared shell for the request history page.

Parameters

ParameterTypeDescription
$manifestarray<string, PHPForge\Debug\Storage\RequestSummary>Manifest entries indexed by tag.
$cursorstringActive history-cursor tag, or '' when none is selected.
protected function renderPanelError(PHPForge\Debug\Storage\ExceptionSnapshot $error): string

Renders a JSON-safe panel exception snapshot through Yii’s exception view.

ErrorHandler::renderFile() accepts mixed params, so the immutable exception snapshot can use the view’s duck-typed $exception slot without recreating or executing the original throwable.

Parameters

ParameterTypeDescription
$errorPHPForge\Debug\Storage\ExceptionSnapshotException captured by the panel, typically via Panel::getError().

Returns

string: Rendered exception view body.

protected function resolveTheme(): string

Resolves the effective light or dark theme.

Returns

string: Effective theme: 'light' or 'dark'.