Skip to content

Playground-приложения

Playground-приложения — это минимальные рабочие приложения, демонстрирующие интеграцию ADP с конкретными PHP-фреймворками. Каждый playground устанавливает соответствующий адаптер ADP, настраивает коллекторы и предоставляет демо-эндпоинты для генерации отладочных данных.

Доступные playground-приложения

PlaygroundФреймворкПортАдаптер
yii3-appYii 38101app-dev-panel/adapter-yii3versiondownloadsapp-dev-panel/adapter-yii3View on Packagistversiondownloadslicensephp version
symfony-appSymfony 78102app-dev-panel/adapter-symfonyversiondownloadsapp-dev-panel/adapter-symfonyView on Packagistversiondownloadslicensephp version
yii2-basic-appYii 28103app-dev-panel/adapter-yii2versiondownloadsapp-dev-panel/adapter-yii2View on Packagistversiondownloadslicensephp version
laravel-appLaravel 128104app-dev-panel/adapter-laravelversiondownloadsapp-dev-panel/adapter-laravelView on Packagistversiondownloadslicensephp version

Запуск playground-приложений

Установка зависимостей

bash
make install-playgrounds

Запуск серверов

Каждый playground работает на своём порту. Запускайте в отдельных терминалах:

bash
cd playground/symfony-app && PHP_CLI_SERVER_WORKERS=3 php -S 127.0.0.1:8102 -t public

TIP

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 3Config pluginАвтоматически через yiisoft/config
SymfonyBundleВручную в config/bundles.php (только dev/test)
LaravelPackage discoveryАвтоматически через extra.laravel.providers
Yii 2Module + BootstrapАвто-bootstrap через extra.bootstrap в composer

Пути хранилищ

ФреймворкПутьРазрешение
Yii 3runtime/debug/Алиас @runtime
Symfonyvar/debug/%kernel.project_dir%
Laravelstorage/debug/storage_path('debug')
Yii2runtime/debug/Алиас @runtime

Запуск тестовых fixture

Fixture — это автоматизированные тестовые эндпоинты, проверяющие каждый коллектор:

bash
make fixtures              # Все playground параллельно
make fixtures-yii3         # Только Yii 3
make fixtures-symfony      # Только Symfony
make fixtures-yii2         # Только Yii2
make fixtures-laravel      # Только Laravel

Для PHPUnit E2E-тестов (требуются запущенные серверы):

bash
make test-fixtures         # Все playground
make test-fixtures-yii3    # Только Yii 3

Добавление нового playground

Чтобы добавить playground для нового фреймворка:

  1. Создайте playground/<framework>-app/ с минимальным приложением на основе официального скелетона фреймворка
  2. Установите пакеты ADP через path-репозитории:
json
{
    "repositories": [
        {"type": "path", "url": "../../libs/Kernel"},
        {"type": "path", "url": "../../libs/API"},
        {"type": "path", "url": "../../libs/Adapter/<Framework>"}
    ],
    "require": {
        "app-dev-panel/adapter-<framework>": "*"
    }
}
  1. Настройте коллекторы, хранилище и API-маршруты согласно документации адаптера
  2. Реализуйте эндпоинты /test/fixtures/*, соответствующие FixtureRegistry (см. Участие в разработке)
  3. Добавьте цели в Makefile для serve, fixtures и проверок Mago
  4. Назначьте следующий свободный порт (8105+)

Распределение портов

ПортНазначение
8100Frontend dev-сервер
8101Yii 3
8102Symfony
8103Yii2
8104Laravel
8105+Свободны

Выпущено под лицензией MIT.