Skip to content

Winter Libraries: Ecosystem Overview and Selection Guide

The Winter library ecosystem is a set of optional packages that extend the Winter Boot framework with integrations for databases, message queues, object storage, search, and distributed infrastructure. Every library implements the framework’s module system contract and registers beans automatically, so once you enable a module in application.yml you can #[Autowired] its templates and clients anywhere in your code.

Match your use case to a library and package.

Need Use Package
Relational database with ORM entities Doctrine suvera/winter-doctrine
Redis client for cache or key/value work Redis suvera/winter-modules
Memcached client for lightweight caching Memcache suvera/winter-modules
Embedded in-memory DB launched with the app (Redis, Ignite, Memcached, Hazelcast) Memdb suvera/winter-memdb
Event streaming and pub/sub Kafka suvera/winter-modules
Managed AWS message queue SQS suvera/winter-modules
S3-compatible object storage S3 suvera/winter-modules
Full-text search and analytics OpenSearch suvera/winter-modules
Background task orchestration across nodes DTCE suvera/winter-modules
Service discovery (Consul or Netflix Eureka) Eureka suvera/winter-eureka
Application security policies Security (planned) suvera/winter-modules

Client libraries that connect to external data stores.

Libraries where the framework launches and manages the server process as part of the app lifecycle.

Winter libraries are distributed as three separate composer packages so you install only what you need:

Install patterns
# Framework only
composer require suvera/winter-boot
# Framework plus one standalone library
composer require suvera/winter-boot suvera/winter-doctrine
# Framework plus the 8-module monorepo
composer require suvera/winter-boot suvera/winter-modules

Some libraries require additional PHP extensions. Install them before enabling the module.

Library Required extensions Optional
Doctrine one of pdo_sqlite, pdo_mysql, pdo_pgsql, pdo_sqlsrv, pdo_oci
Redis redis (phpredis)
Memcache memcached or memcache
Memdb swoole, posix; plus the engine’s own binary on PATH redis, memcached
Kafka swoole, rdkafka
SQS swoole
S3 none (uses aws/aws-sdk-php)
OpenSearch none (uses opensearch-project/opensearch-php)
DTCE swoole; plus redis or rdkafka depending on backend
Eureka swoole

Every library plugs in through the same module system. Declare the module class in your application.yml under modules::

application.yml
modules:
- module: 'dev\winterframework\kafka\KafkaModule'
enabled: true
configFile: 'config/kafka-config.yml'

Read The Module System for the full contract, load order, and how to build your own modules.