Winter Libraries: Ecosystem Overview and Selection Guide
Winter libraries are optional packages that add integrations to Winter Boot for databases, message queues, object storage, search, and distributed infrastructure. Each library is a module that registers its beans automatically: enable it in application.yml and you can #[Autowired] its templates and clients anywhere.
Choose a library
Section titled “Choose a library”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 |
Grouped by domain
Section titled “Grouped by domain”Client libraries that connect to external data stores.
Messaging
Section titled “Messaging”Storage & search
Section titled “Storage & search”Distributed systems
Section titled “Distributed systems”Embedded in-memory servers (experimental)
Section titled “Embedded in-memory servers (experimental)”Libraries where the framework launches and manages the server process as part of the app lifecycle.
Planned
Section titled “Planned”Installation
Section titled “Installation”Libraries ship as separate Composer packages, so you install only what you need; some also need extra PHP extensions. See Installation for the package list and the extensions each library needs.
Enabling a library
Section titled “Enabling a library”Every library plugs in through the same module system. Declare the module class in your application.yml under modules::
modules: - module: 'dev\winterframework\kafka\KafkaModule' enabled: true configFile: kafka-config.ymlRead The Module System for the full contract, load order, and how to build your own modules.