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.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$behaviors read-only | array<yii\<static>> | List of behaviors attached to this component. | yii\ |
$controller | yii\ | The controller that owns this action, or null when the action runs standalone. via Module::$actionMap Default: null. | yii\ |
$debugModule read-only | yii\ | Owning debug module. | Action |
$id | string| | ID of the action; null between construction and dispatcher post-assignment for standalone actions resolved through Module::$actionMap or Module::$actionNamespace. Default: null. | yii\ |
$manifest read-only | array<string, | Manifest entries indexed by tag. | Action |
$module | yii\| | The owning module, or null if neither a module nor a controller is attached. Available since 22.0. | yii\ |
$summary | PHPForge\ | Summary metadata for the active debug entry, populated by loadData(). Default: null. | Action |
$uniqueId read-only | string | The unique ID of this action among the whole application. | yii\ |
$viewPath read-only | string | Absolute path to the debugger views. | Action |
Methods
Section titled “Methods”| Method | Description | Defined by |
|---|---|---|
__construct() | Constructor. | yii\ |
__call() | Calls the named method which is not a class method. | yii\ |
__clone() | This method is called after the object is created by cloning an existing one. | yii\ |
__get() | Returns the value of a component property. | yii\ |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\ |
__set() | Sets the value of a component property. | yii\ |
__unset() | Sets a component property to be null. | yii\ |
attachBehavior() | Attaches a behavior to this component. | yii\ |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\ |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\ |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\ |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\ |
className() static | Returns the fully qualified name of this class. | yii\ |
detachBehavior() | Detaches a behavior from the component. | yii\ |
detachBehaviors() | Detaches all behaviors from the component. | yii\ |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\ |
getBehavior() | Returns the named behavior object. | yii\ |
getBehaviors() | Returns all behaviors attached to this component. | yii\ |
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\ |
getUniqueId() | Returns the unique ID of this action among the whole application. | yii\ |
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\ |
hasMethod() | Returns a value indicating whether a method is defined. | yii\ |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\ |
init() | Initializes the object. | yii\ |
loadData() | Loads the debug entry for the given tag into every registered panel. | Action |
off() | Detaches an existing event handler from this component. | yii\ |
on() | Attaches an event handler to an event. | yii\ |
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\ |
setModule() | Sets the module that owns this action when invoked standalone. | yii\ |
trigger() | Triggers an event. | yii\ |
afterRun() protected | This method is called right after run() is executed. | yii\ |
beforeRun() protected | Forces the HTML response format and installs the bare shell before the action body runs. | Action |
createBareShellContext() protected | Builds the bare shell installed by beforeRun() through Module::getShellContextFactory(). | Action |
createPanelRenderContext() protected | Builds the portable state available to shared panel renderers for the active snapshot. | Action |
createShellContext() protected | Builds the shared shell for an index or view page through Module::getShellContextFactory(). | Action |
getLogTarget() protected | Returns the initialized debug log target. | Action |
getMailCollector() protected | Returns the registered mail collector. | Action |
getPanel() protected | Returns a registered panel by ID. | Action |
prepareIndexShell() protected | Prepares the shared shell for the request history page. | Action |
renderPanelError() protected | Renders a JSON-safe panel exception snapshot through Yii’s exception view. | Action |
resolveStandaloneParams() protected | Resolves the parameters of run() using the same HTTP-aware binder as Controller::bindActionParams(). | yii\ |
resolveTheme() protected | Resolves the effective light or dark theme. | Action |
Method details
Section titled “Method details”getDebugModule()
Section titled “getDebugModule() ”public function getDebugModule(): yii\debug\ModuleReturns the owning debug module.
Returns
yii\debug\Module: Owning debug module.
Throws
yii\base\InvalidConfigException: when the action was dispatched without a debug module.
getManifest()
Section titled “getManifest() ”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
| Parameter | Type | Description |
|---|---|---|
$forceReload | bool | true 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.
getViewPath()
Section titled “getViewPath() ”public function getViewPath(): stringReturns the view directory shared by every debugger page.
Returns
string: Absolute path to the debugger views.
loadData()
Section titled “loadData() ”public function loadData(string $tag, int $maxRetry = 0): voidLoads 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
| Parameter | Type | Description |
|---|---|---|
$tag | string | Tag of the debug entry to load. |
$maxRetry | int | Maximum number of retries before giving up. |
Throws
yii\web\NotFoundHttpException: when the tag cannot be located after every retry, or when the entry lacks a summary block.
See also
prepareShell()
Section titled “prepareShell() ”public function prepareShell(yii\debug\Panel $activePanel, string $tag): voidPrepares the shared shell for a request panel or nested panel action.
Parameters
| Parameter | Type | Description |
|---|---|---|
$activePanel | yii\ | Panel focused by the rendered page. |
$tag | string | Tag of the loaded debug entry. |
Throws
yii\web\NotFoundHttpException: when no summary was loaded for the tag.
render()
Section titled “render() ”public function render(string $view, array<string, mixed> $params = []): stringRenders a debugger view wrapped in the shared page layout.
Parameters
| Parameter | Type | Description |
|---|---|---|
$view | string | View name relative to getViewPath(). |
$params | array<string, | View parameters. |
Returns
string: Rendered page markup.
renderPartial()
Section titled “renderPartial() ”public function renderPartial(string $view, array<string, mixed> $params = []): stringRenders a debugger view without the page layout.
Parameters
| Parameter | Type | Description |
|---|---|---|
$view | string | View name relative to getViewPath(). |
$params | array<string, | View parameters. |
Returns
string: Rendered view markup.
beforeRun()
Section titled “beforeRun() ”protected function beforeRun(): mixedForces the HTML response format and installs the bare shell before the action body runs.
Returns
mixed
createBareShellContext()
Section titled “createBareShellContext() ”protected function createBareShellContext(): yii\debug\widgets\shell\ShellContextBuilds 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.
createPanelRenderContext()
Section titled “createPanelRenderContext() ”protected function createPanelRenderContext(yii\debug\Panel $panel, string $tag): PHPForge\Debug\Panel\PanelRenderContextBuilds the portable state available to shared panel renderers for the active snapshot.
Parameters
| Parameter | Type | Description |
|---|---|---|
$panel | yii\ | Panel being rendered. |
$tag | string | Capture under inspection. |
Returns
PHPForge\Debug\Panel\PanelRenderContext: State shared with the portable renderers.
createShellContext()
Section titled “createShellContext() ”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\ShellContextBuilds the shared shell for an index or view page through Module::getShellContextFactory().
Parameters
| Parameter | Type | Description |
|---|---|---|
$mode | string | One of the ShellContext mode constants. |
$manifest | array<string, | Manifest entries indexed by tag. |
$activeTag | string| | Tag focused by the page, or null on the index. |
$summary | PHPForge\ | Summary of the focused entry, or null on the index. |
$sidebar | PHPForge\ | Prepared sidebar payload. |
Returns
yii\debug\widgets\shell\ShellContext: Shell for the requested page.
getLogTarget()
Section titled “getLogTarget() ”protected function getLogTarget(): yii\debug\LogTargetReturns the initialized debug log target.
Returns
yii\debug\LogTarget: Log target used to read the manifest and per-tag panel payloads.
Throws
yii\base\InvalidConfigException: when the module was not bootstrapped before the action is used.
getMailCollector()
Section titled “getMailCollector() ”protected function getMailCollector(): yii\debug\collectors\MailCollectorReturns the registered mail collector.
Returns
yii\debug\collectors\MailCollector: Mail collector used to resolve captured mail files.
Throws
yii\web\NotFoundHttpException: when no mail collector is registered on the module.
getPanel()
Section titled “getPanel() ”protected function getPanel(string $id): yii\debug\PanelReturns a registered panel by ID.
Parameters
| Parameter | Type | Description |
|---|---|---|
$id | string | Panel ID to resolve. |
Returns
yii\debug\Panel: Panel instance matching the given ID.
Throws
yii\web\NotFoundHttpException: when the module has no panel registered under the given ID.
prepareIndexShell()
Section titled “prepareIndexShell() ”protected function prepareIndexShell(array<string, PHPForge\Debug\Storage\RequestSummary> $manifest, string $cursor): voidPrepares the shared shell for the request history page.
Parameters
| Parameter | Type | Description |
|---|---|---|
$manifest | array<string, | Manifest entries indexed by tag. |
$cursor | string | Active history-cursor tag, or '' when none is selected. |
renderPanelError()
Section titled “renderPanelError() ”protected function renderPanelError(PHPForge\Debug\Storage\ExceptionSnapshot $error): stringRenders 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
| Parameter | Type | Description |
|---|---|---|
$error | PHPForge\ | Exception captured by the panel, typically via Panel::getError(). |
Returns
string: Rendered exception view body.
resolveTheme()
Section titled “resolveTheme() ”protected function resolveTheme(): stringResolves the effective light or dark theme.
Returns
string: Effective theme: 'light' or 'dark'.