Getting Started
ADP (Application Development Panel) is a framework-agnostic debugging panel for PHP applications. It collects runtime data and provides a web UI to inspect and debug your application.
Prerequisites
- PHP 8.4 or higher
- Composer
Installation
1. Install the adapter for your framework
composer require app-dev-panel/adapter-symfonyEach adapter pulls in app-dev-panel/kernelapp-dev-panel/kernelView on Packagist and app-dev-panel/api
app-dev-panel/apiView on Packagist as dependencies automatically.
2. Configure your application
// config/bundles.php
return [
// ...
AppDevPanel\Adapter\Symfony\AppDevPanelBundle::class => ['dev' => true, 'test' => true],
];3. Start debugging
Run your application and open http://your-app/debug in your browser. The ADP debug panel shows debug data collected from your application in real-time.
PHP Built-in Server
When using PHP's built-in server, always set PHP_CLI_SERVER_WORKERS=3 or higher. ADP makes concurrent requests (SSE + data fetching); single-worker mode causes timeouts.
PHP_CLI_SERVER_WORKERS=3 php -S 127.0.0.1:8080 -t publicTry the Demo
You can try the panel UI right away with the Live Demo — no installation required. Enter your application's backend URL to connect.
ADP also ships with playground applications for each supported framework:
git clone https://github.com/app-dev-panel/app-dev-panel.git
cd app-dev-panel
make install # Install all dependenciesStart a playground server:
cd playground/symfony-app && PHP_CLI_SERVER_WORKERS=3 php -S 127.0.0.1:8102 -t publicArchitecture Overview
ADP follows a layered architecture:
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Frontend │────▶│ API │────▶│ Kernel │
│ (React SPA) │ HTTP│ (REST+SSE) │ │ (Collectors) │
└──────────────┘ └──────────────┘ └───────┬───────┘
│
┌───────┴───────┐
│ Adapter │
└───────┬───────┘
│
┌───────┴───────┐
│ Target App │
└───────────────┘- Kernel — Core engine managing debugger lifecycle, collectors, and storage
- API — HTTP layer exposing debug data via REST + SSE
- Adapter — Framework bridge wiring collectors into your application
- Frontend — React SPA consuming the API
What's Next?
- What is ADP? — Learn about the project philosophy
- Debug Panel — Configure the embedded debug panel UI
- Architecture — Deep dive into the system design
- Collectors — Understand how data is collected
- Data Flow — Follow data from your app to the panel
- Feature Matrix — See what's supported per framework
- Playgrounds — Try the demo applications