php-forge / debug-core
Framework-agnostic snapshots, storage, and frontend for PHP debug adapters.
Requires
- php: >=8.3
- ext-ctype: *
- ext-intl: *
- ext-mbstring: *
- ui-awesome/html: ^0.6
- ui-awesome/html-core-component: ^0.4
- ui-awesome/html-helper: ^0.7
- ui-awesome/html-interop: ^0.4
- ui-awesome/html-svg: ^0.6
Requires (Dev)
- infection/infection: ^0.34
- maglnet/composer-require-checker: ^4.1
- php-forge/baseline: ^0.1
- php-forge/coding-standard: ^0.3
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-strict-rules: ^2.0.3
- phpunit/phpunit: ^12.5
- xepozz/internal-mocker: ^1.4
- yii2-extensions/scaffold: ^0.2
This package is auto-updated.
Last update: 2026-08-19 13:00:03 UTC
README
Framework-agnostic contracts, snapshots, storage primitives, normalization and presentation helpers, and complete frontend for PHP debugger adapters.
This package is the shared engine used by framework-specific integrations. Applications should install an adapter instead of requiring this package directly.
Installation
Adapter packages install Debug Core transitively. If you develop an adapter, run:
composer require php-forge/debug-core
Architecture
The core package owns portable collector contracts and coordination, debug data, persistence, normalization and
presentation primitives under PHPForge\Debug\Helper, the frontend source and compiled files, shared fonts and icons,
the toolbar data contract, and framework-neutral PHP templates composed with the agnostic UI Awesome HTML helpers. It
does not register assets, render responses, inject toolbar markup, or depend on Yii2, Yii3, an application container, a
view implementation, or a framework request lifecycle.
Shared adapter UI contracts include PHPForge\Debug\Data\FilterEngine, FilterPrefix, PageSize, and QueryInput,
plus PHPForge\Debug\Panel\PanelRenderContext. Adapters provide a
PHPForge\Debug\Routing\DebugUrlGeneratorInterface implementation so portable panel renderers can build history,
panel, and action links without importing a framework URL manager.
Adapters collect framework data, convert it into immutable snapshots, expose toolbar data endpoints, define and
publish assets through their framework, and render the shared templates with their framework view component. They also
own toolbar response injection. Routes, controllers or actions, URL generation, panel metadata, and framework-specific
panel views remain in each adapter. Yii adapters resolve the packaged frontend at
@vendor/php-forge/debug-core/resources/assets and configure their own alias for resources/views.
The visual and behavioral synchronization contract for the Yii adapters is documented in the Yii Debug UI parity baseline.
Current adapters:
yii2-extensions/debugyii3/debug
Frontend development
The complete frontend source lives in resources/src. Vite produces the full-page stylesheet and runtime together
with the toolbar Web Component under resources/assets/dist. Rebuild and verify the packaged assets with:
npm install npm run format:check npm run lint:js npm run lint:css npm run test:js npm run build
License
The package is released under the BSD-3-Clause license. See LICENSE.