Совместимость пакетов Triangle
Здесь собраны PHP-ограничения и основные зависимости, объявленные пакетами Triangle. Это описание требований Composer, а не сертифицированная матрица совместимости: перед обновлением приложения проверяйте lock-файл и выполняйте тесты затронутых пакетов.
Runtime и основные пакеты
| Пакет / роль | Composer package | PHP | Основные зависимости и ограничения |
|---|---|---|---|
| Localzet Server | localzet/server | >=8.1 | Асинхронный runtime и сетевые протоколы; Triangle Engine 8 требует Server 4.x |
| Engine | triangle/engine | ^8.1 | Server ^4, Monolog 2, PSR Container 1 или 2, Symfony Translation и Cache 6.4; обязательны ext-intl и ext-json |
| HTTP Engine | triangle/engine-http | ^8.1 | Engine 8, Router 2, Middleware 2; требуется ext-curl; несовместим в одном Composer dependency graph с WS Engine |
| WebSocket Engine | triangle/engine-ws | ^8.1 | Engine 8.1, Router 2, Middleware 2; несовместим в одном Composer dependency graph с HTTP Engine |
| Router | triangle/router | ^8.1 | Engine ^8.1 |
| Middleware | triangle/middleware | ^8.1 | Engine ^8.1, Router 2 |
| Database | triangle/database | ^8.2 | Engine 8.1, Illuminate Database/Pagination/Events 11, Symfony VarDumper 7 |
| Session, View, Events | triangle/session, triangle/view, triangle/events | ^8.1 | Зависимость от Engine 8.1; View также использует dev-инструменты Rector и PHPStan |
| Cron | triangle/cron | ^8.1 | Engine 8.1, Events 1, Localzet Cron 1 |
| Console | triangle/console | ^8.2 | Engine 8.1, Localzet Console 1.1, Symfony Console и Process 7.1 |
В lock-файлах Web, WS, Full и Web-Managed сейчас разрешены triangle/console 1.3.27 и localzet/console 1.1.9. В этих сборках Symfony Clock/String зафиксированы на 7.4.21/7.4.22: эта ветка поддерживает минимальный PHP 8.2, заявленный шаблонами.
Приложения и шаблоны
| Приложение | Composer package | PHP | Состав |
|---|---|---|---|
| Web | triangle/web | ^8.2 | Engine 8.1, HTTP Engine 2, Console 1.3, Database 1, Session 1, View 2, Events 1; требуется ext-curl |
| Web-Managed | triangle/web | ^8.2 | Вариант HTTP-шаблона; использует Engine 8, HTTP Engine 2 и View 1.1; package name совпадает с Web |
| Full | triangle/web | ^8.2 | Шаблон приложения с интерфейсом административной панели; package name совпадает с Web, поэтому это не отдельный Composer install target |
| WS | triangle/ws | ^8.2 | Engine 8.1, WS Engine 1.1, Console 1.3, Database 1, Events 1 |
| Maestro | triangle/maestro | ^8.2 | Декларирует Engine 6.x-dev; не относится к совместимой линии Engine 8 и пока остаётся прототипом |
| Metronic | triangle/web | ^8.2 | Архивная сборка на Engine 5.3; не смешивайте её зависимости с актуальными Web/WS пакетами |
Web, Web-Managed и Full объявляют один Composer package name. Для Web используйте composer create-project triangle/web; Full и Web-Managed выбирайте как исходные шаблоны, поскольку Composer не различает эти варианты по имени пакета.
Плагины
| Пакет | PHP и основные зависимости | Текущие границы |
|---|---|---|
triangle/oauth | ^8.2, Localzet HTTP 2, Engine 8.1, ext-mbstring, ext-json, ext-curl | Провайдерные возможности могут требовать дополнительные расширения или пакеты; проверяйте нужный provider отдельно |
triangle/media | ^8.1, Engine 8.1, ext-curl, ext-imagick | Запись в image_path; загрузка URL ограничена HTTP(S), публичными IP, стандартными портами и размером; обработка ограничивает пиксели и кадры |
triangle/pusher | ^8.1, Engine 8.1, Router 2 | Прототип; конфигурация отключена по умолчанию, полноценная обработка push-событий не реализована |
triangle/multiconnect | ^8.1, Localzet Server ^4.5; optional localzet/cluster (^8.2 PHP) | Базовый реестр ограничен worker-процессом. Дополнительный адаптер передаёт распределённые операции в Localzet Cluster; его процессы настраиваются отдельно, UID/group/broadcast не возвращают число получателей |
Как читать ограничения
- Composer constraint сообщает, какие версии пакет разрешает установить; он сам по себе не подтверждает совместимость поведения.
^8.1для PHP означает диапазон от 8.1 до следующего major-релиза, а не обещание работы на любой конфигурации PHP.- Package checks разрешают зависимости на заявленной минимальной версии PHP и проверяют установку, синтаксис и тесты, объявленные конкретным пакетом. Это не заменяет интеграционную проверку совместной сборки и runtime-сценариев.
- Не устанавливайте
triangle/engine-httpиtriangle/engine-wsв один dependency graph: manifests объявляют взаимный конфликт. - Некоторые библиотеки объявляют
triangle/engineпрямой зависимостью. Их можно применять вне готовых Web/WS шаблонов, но для standalone-сценария нужно учитывать этот контракт. - Совместимость Maestro с Engine 8 не заявлена. Перед выбором пакета также проверьте документацию Web, WS и плагинов.