Совместимость пакетов Triangle

Здесь собраны PHP-ограничения и основные зависимости, объявленные пакетами Triangle. Это описание требований Composer, а не сертифицированная матрица совместимости: перед обновлением приложения проверяйте lock-файл и выполняйте тесты затронутых пакетов.

Runtime и основные пакеты

Пакет / рольComposer packagePHPОсновные зависимости и ограничения
Localzet Serverlocalzet/server>=8.1Асинхронный runtime и сетевые протоколы; Triangle Engine 8 требует Server 4.x
Enginetriangle/engine^8.1Server ^4, Monolog 2, PSR Container 1 или 2, Symfony Translation и Cache 6.4; обязательны ext-intl и ext-json
HTTP Enginetriangle/engine-http^8.1Engine 8, Router 2, Middleware 2; требуется ext-curl; несовместим в одном Composer dependency graph с WS Engine
WebSocket Enginetriangle/engine-ws^8.1Engine 8.1, Router 2, Middleware 2; несовместим в одном Composer dependency graph с HTTP Engine
Routertriangle/router^8.1Engine ^8.1
Middlewaretriangle/middleware^8.1Engine ^8.1, Router 2
Databasetriangle/database^8.2Engine 8.1, Illuminate Database/Pagination/Events 11, Symfony VarDumper 7
Session, View, Eventstriangle/session, triangle/view, triangle/events^8.1Зависимость от Engine 8.1; View также использует dev-инструменты Rector и PHPStan
Crontriangle/cron^8.1Engine 8.1, Events 1, Localzet Cron 1
Consoletriangle/console^8.2Engine 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 packagePHPСостав
Webtriangle/web^8.2Engine 8.1, HTTP Engine 2, Console 1.3, Database 1, Session 1, View 2, Events 1; требуется ext-curl
Web-Managedtriangle/web^8.2Вариант HTTP-шаблона; использует Engine 8, HTTP Engine 2 и View 1.1; package name совпадает с Web
Fulltriangle/web^8.2Шаблон приложения с интерфейсом административной панели; package name совпадает с Web, поэтому это не отдельный Composer install target
WStriangle/ws^8.2Engine 8.1, WS Engine 1.1, Console 1.3, Database 1, Events 1
Maestrotriangle/maestro^8.2Декларирует Engine 6.x-dev; не относится к совместимой линии Engine 8 и пока остаётся прототипом
Metronictriangle/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 и плагинов.