Матрица возможностей
ADP поддерживает несколько PHP-фреймворков через адаптеры. Каждый адаптер подключает хуки фреймворка к общим коллекторам Kernel. На этой странице описано, что доступно в каждом адаптере.
Поддержка коллекторов по адаптерам
Все коллекторы находятся в Kernel и не зависят от фреймворка. Адаптеры регистрируют и подключают их через хуки событий, прокси или декораторы.
Универсальные коллекторы
Эти коллекторы зарегистрированы во всех четырёх адаптерах:
Матрица доступности коллекторов
| Коллектор | Yii 3 | Symfony | Laravel | Yii2 | Панель |
|---|---|---|---|---|---|
| Database | ✅ | ✅ | ✅ | ✅ | Database |
| Cache | ✅ | ✅ | ✅ | ✅ | Cache |
| Mailer | ✅ | ✅ | ✅ | ✅ | Mailer |
| Queue | ✅ | ✅ | ✅ | ✅ | Queue |
| Redis | ✅ | ✅ | ✅ | ✅ | Redis |
| Elasticsearch | ✅ | ✅ | ✅ | ✅ | Elasticsearch |
| View | ✅ | — | — | ✅ | WebView |
| Templates | — | ✅ | — | ✅ | Templates |
| Code Coverage | — | ✅ | ✅ | ✅ | Coverage |
| Asset Bundles | — | — | — | ✅ | Asset Bundles |
| Middleware | ✅ | — | — | — | Middleware |
| Messenger | — | ✅ | — | — | Messenger |
Итого коллекторов по адаптерам
| Адаптер | Универсальные | Дополнительные | Всего |
|---|---|---|---|
| Yii 3 | 20 | 8 | 28 |
| Symfony | 20 | 9 | 29 |
| Yii2 | 20 | 10 | 30 |
| Laravel | 20 | 7 | 27 |
Механизмы проксирования / перехвата
Каждый адаптер использует разные стратегии для перехвата внутренних механизмов фреймворка и передачи данных в коллекторы:
Возможности инспектора
Инспектор предоставляет интроспекцию приложения в реальном времени (не привязана к записям отладки). Все API-функции не зависят от адаптера:
| Возможность | Yii 3 | Symfony | Laravel | Yii2 | Cycle |
|---|---|---|---|---|---|
| Конфигурация | ✅ | ✅ | ✅ | ✅ | — |
| Схема БД | ✅ | ✅ | ✅ | ✅ | ✅ |
| Маршруты | ✅ | ✅ | ✅ | ✅ | — |
| Файловый проводник | ✅ | ✅ | ✅ | ✅ | — |
| Git | ✅ | ✅ | ✅ | ✅ | — |
| Composer | ✅ | ✅ | ✅ | ✅ | — |
| Opcache | ✅ | ✅ | ✅ | ✅ | — |
| PHP Info | ✅ | ✅ | ✅ | ✅ | — |
| Команды | ✅ | ✅ | ✅ | ✅ | — |
| Container / DI | ✅ | ✅ | ✅ | ✅ | — |
| Кеш | ✅ | ✅ | ✅ | ✅ | — |
| Переводы | ✅ | ✅ | ✅ | ✅ | — |
Различия в возможностях адаптеров
Текущие различия между адаптерами:
| Возможность | Yii 3 | Symfony | Laravel | Yii2 |
|---|---|---|---|---|
| Отладка шаблонов | ✅ | ✅ | ❌ | ✅ |
| Code coverage | ❌ | ✅ | ✅ | ✅ |
| Отладка middleware | ✅ | ❌ | ❌ | ❌ |
| Отладка шины сообщений | ❌ | ✅ | ❌ | ❌ |
| Отладка asset bundles | ❌ | ❌ | ❌ | ✅ |
| Прокси контейнера | ✅ | ❌ | ❌ | ❌ |
TIP
Паритет возможностей активно улучшается. Если вам нужен определённый коллектор для вашего фреймворка, участие в разработке приветствуется.