Playground-приложения
Playground-приложения — это минимальные рабочие приложения, демонстрирующие интеграцию ADP с конкретными PHP-фреймворками. Каждый playground устанавливает соответствующий адаптер ADP, настраивает коллекторы и предоставляет демо-эндпоинты для генерации отладочных данных.
Доступные playground-приложения
| Playground | Фреймворк | Порт | Адаптер |
|---|---|---|---|
yii3-app | Yii 3 | 8101 | app-dev-panel/adapter-yii3app-dev-panel/adapter-yii3View on Packagist |
symfony-app | Symfony 7 | 8102 | app-dev-panel/adapter-symfonyapp-dev-panel/adapter-symfonyView on Packagist |
yii2-basic-app | Yii 2 | 8103 | app-dev-panel/adapter-yii2app-dev-panel/adapter-yii2View on Packagist |
laravel-app | Laravel 12 | 8104 | app-dev-panel/adapter-laravelapp-dev-panel/adapter-laravelView on Packagist |
Запуск playground-приложений
Установка зависимостей
make install-playgroundsЗапуск серверов
Каждый playground работает на своём порту. Запускайте в отдельных терминалах:
cd playground/symfony-app && PHP_CLI_SERVER_WORKERS=3 php -S 127.0.0.1:8102 -t publicTIP
PHP_CLI_SERVER_WORKERS=3 необходим для SSE — один воркер обрабатывает SSE-поток, остальные обслуживают API-запросы.
Общие URL
Все playground-приложения предоставляют одинаковую структуру URL:
| Путь | Назначение |
|---|---|
/ | Главная / демо-страница |
/debug/api/ | Список отладочных записей (JSON) |
/debug/api/view/{id} | Полные данные отладочной записи |
/debug/api/summary/{id} | Сводка записи |
/inspect/api/* | Эндпоинты инспектора |
/test/fixtures/* | Тестовые fixture-эндпоинты |
Методы интеграции
Каждый фреймворк использует свой подход к регистрации адаптера:
| Фреймворк | Интеграция | Регистрация |
|---|---|---|
| Yii 3 | Config plugin | Автоматически через yiisoft/config |
| Symfony | Bundle | Вручную в config/bundles.php (только dev/test) |
| Laravel | Package discovery | Автоматически через extra.laravel.providers |
| Yii 2 | Module + Bootstrap | Авто-bootstrap через extra.bootstrap в composer |
Пути хранилищ
| Фреймворк | Путь | Разрешение |
|---|---|---|
| Yii 3 | runtime/debug/ | Алиас @runtime |
| Symfony | var/debug/ | %kernel.project_dir% |
| Laravel | storage/debug/ | storage_path('debug') |
| Yii2 | runtime/debug/ | Алиас @runtime |
Запуск тестовых fixture
Fixture — это автоматизированные тестовые эндпоинты, проверяющие каждый коллектор:
make fixtures # Все playground параллельно
make fixtures-yii3 # Только Yii 3
make fixtures-symfony # Только Symfony
make fixtures-yii2 # Только Yii2
make fixtures-laravel # Только LaravelДля PHPUnit E2E-тестов (требуются запущенные серверы):
make test-fixtures # Все playground
make test-fixtures-yii3 # Только Yii 3Добавление нового playground
Чтобы добавить playground для нового фреймворка:
- Создайте
playground/<framework>-app/с минимальным приложением на основе официального скелетона фреймворка - Установите пакеты ADP через path-репозитории:
{
"repositories": [
{"type": "path", "url": "../../libs/Kernel"},
{"type": "path", "url": "../../libs/API"},
{"type": "path", "url": "../../libs/Adapter/<Framework>"}
],
"require": {
"app-dev-panel/adapter-<framework>": "*"
}
}- Настройте коллекторы, хранилище и API-маршруты согласно документации адаптера
- Реализуйте эндпоинты
/test/fixtures/*, соответствующиеFixtureRegistry(см. Участие в разработке) - Добавьте цели в Makefile для serve, fixtures и проверок Mago
- Назначьте следующий свободный порт (8105+)
Распределение портов
| Порт | Назначение |
|---|---|
| 8100 | Frontend dev-сервер |
| 8101 | Yii 3 |
| 8102 | Symfony |
| 8103 | Yii2 |
| 8104 | Laravel |
| 8105+ | Свободны |