# Winter Boot - [Introduction to Winter: PHP Microservices Ecosystem](https://suvera.mintlify.app/introduction.md): Winter is a PHP 8 microservices ecosystem: Winter Boot at the core plus optional libraries for data, messaging, storage, search, and service discovery. - [Quickstart: Build Your First Winter Boot Microservice](https://suvera.mintlify.app/quickstart.md): Install Winter Boot via Composer, create a service and REST controller, and run a Swoole HTTP server. Zero to a live endpoint in under ten minutes. - [Configuration in Winter Boot: Properties, Beans & Sources](https://suvera.mintlify.app/configuration.md): Configure Winter Boot with application.yml, inject values with #[Value], define beans in #[Configuration] classes, and use property-source fallback chains. - [Dependency Injection with PHP 8 Attributes in Winter Boot](https://suvera.mintlify.app/core/dependency-injection.md): Learn how Winter Boot's IoC container discovers beans, wires dependencies, and provides programmatic access to the application context. - [Winter Boot AOP: Aspect-Oriented Programming Guide](https://suvera.mintlify.app/core/aop.md): Add transactions, caching, and async execution to Winter Boot beans using PHP 8 AOP attributes and the WinterAspect interceptor pipeline. - [Application Lifecycle and Startup Hooks in Winter Boot](https://suvera.mintlify.app/core/application-lifecycle.md): Learn how Winter Boot scans namespaces, builds the bean graph, fires lifecycle hooks, and shuts down — and how to choose the right runner. - [The Module System: Extending Winter with Libraries](https://suvera.mintlify.app/core/module-system.md): Understand the WinterModule contract and #[Module] attribute that every Winter library uses to register beans, scan namespaces, and boot infrastructure. - [Building REST Controllers with the Winter Boot Framework](https://suvera.mintlify.app/web/rest-controllers.md): Build REST APIs with Winter Boot using #[RestController], inject dependencies via #[Autowired], and control responses with the ResponseEntity builder. - [HTTP Request Mapping with Winter Boot PHP 8 Attributes](https://suvera.mintlify.app/web/request-mapping.md): Route requests in Winter Boot using #[RequestMapping], method shortcuts #[GetMapping] and #[PostMapping], plus #[PathVariable] and #[RequestParam]. - [HTTP Interceptors: Pre- and Post-Processing in Winter Boot](https://suvera.mintlify.app/web/interceptors.md): Intercept HTTP requests in Winter Boot using ControllerInterceptor for per-controller scope and HandlerInterceptor for application-wide URI matching. - [Configuring Database Access with PdbcTemplate in Winter Boot](https://suvera.mintlify.app/data/database.md): Set up datasources, inject PdbcTemplate, execute typed queries, map rows to PPA entities, and manage multi-tenant connections in Winter Boot. - [Managing Database Transactions in Winter Boot Services](https://suvera.mintlify.app/data/transactions.md): Use #[Transactional] annotations or PlatformTransactionManager to control commit, rollback, propagation, and isolation in Winter Boot services. - [Running Versioned SQL Database Migrations in Winter Boot](https://suvera.mintlify.app/data/migrations.md): Run versioned SQL scripts against any datasource, track applied migrations automatically, and support multi-tenant and Kubernetes deployments. - [OpenSearch Migrations: Version Index Templates and Policies](https://suvera.mintlify.app/data/opensearch-migrations.md): Apply versioned OpenSearch index templates, ISM policies, and index schemas from JSON files with the built-in Winter Boot migration runner. - [Asynchronous Task Execution with #[Async] in Winter Boot](https://suvera.mintlify.app/async/async-tasks.md): Use the #[Async] attribute to dispatch service methods to background worker processes, keeping your HTTP responses fast regardless of task cost. - [Recurring Background Tasks with #[Scheduled] in Winter Boot](https://suvera.mintlify.app/async/scheduling.md): Declare recurring background tasks in PHP using #[Scheduled]. Run on fixed intervals or fixed delays without external cron jobs or process managers. - [Supervised Daemon Threads for Winter Boot Applications](https://suvera.mintlify.app/async/daemon-threads.md): Create supervised background processes with #[DaemonThread] that start with your app, run indefinitely, and restart automatically on crash or OOM. - [Prevent Race Conditions with Winter Boot Distributed Locking](https://suvera.mintlify.app/ops/locking.md): Apply the #[Lockable] attribute to any bean method to enforce single-threaded execution locally or across an entire cluster using a pluggable LockManager. - [Declarative Method Caching with Attributes in Winter Boot](https://suvera.mintlify.app/ops/caching.md): Use #[Cacheable], #[CachePut], and #[CacheEvict] to add AOP-based declarative caching to any bean method, backed by in-memory, local KV, or Redis stores. - [Configure Structured Logging in Your Winter Boot App](https://suvera.mintlify.app/ops/logging.md): Add the Wlf4p trait for zero-boilerplate structured logging, then tune log levels per class or namespace with a Monolog-backed logger.yml file. - [Monitor Your Application with the Winter Boot Actuator](https://suvera.mintlify.app/ops/actuator.md): Enable built-in HTTP endpoints to inspect beans, environment, health indicators, and application info without writing any controller code. - [Distributed Tracing and Telemetry with OpenTelemetry](https://suvera.mintlify.app/ops/telemetry.md): Integrate OpenTelemetry into Winter Boot to capture distributed traces, metrics counters, and correlated structured logs with minimal configuration. - [Building CLI Commands with #[Command] Attribute](https://suvera.mintlify.app/building/cli-commands.md): Turn any bean into a command-line entry point with #[Command] and #[CommandArg], running under the WinterCliApplication runtime instead of the HTTP server. - [Testing Winter Boot Applications with #[WinterBootTest]](https://suvera.mintlify.app/building/testing.md): Mark test classes as beans with #[WinterBootTest] and run the framework's zero-dependency test harness to exercise services against a real application context. - [JSON and XML Data Binding in Winter Boot with PHP 8](https://suvera.mintlify.app/advanced/json-xml.md): Map JSON and XML payloads to typed PHP objects using PHP 8 attributes. Covers JsonProperty, PAXB XML binding, ObjectCreator, and content negotiation. - [Winter Boot Node-Local In-Memory KV and Queue Stores](https://suvera.mintlify.app/advanced/local-stores.md): Share fast in-memory state across all Swoole workers on a host using Winter Boot's KV store and Queue store, with no external infrastructure required. - [Winter Boot Utilities: Data Trait, Typed Lists, TypeAssert](https://suvera.mintlify.app/building/utilities.md): Reference for framework utility classes: Bombok Data trait, typed ArrayList and StringList, ImmutableMap, IntegerMinHeap, TypeAssert, and MurmurHash3Provider. - [Build and Deploy Your Winter Boot PHP 8 Application](https://suvera.mintlify.app/advanced/build-deploy.md): Package Winter Boot apps as Phar archives or Docker images, pick the right application runner, and manage processes with systemd or Kubernetes. - [Winter Libraries: Ecosystem Overview and Selection Guide](https://suvera.mintlify.app/modules/overview.md): Browse every official Winter library, understand how each one plugs into Winter Boot, and pick the right package for your data, messaging, storage, or discovery needs. - [Winter Doctrine: ORM and DBAL Integration Module](https://suvera.mintlify.app/modules/doctrine.md): Configure and use Doctrine ORM and DBAL in Winter Boot. Covers entity managers, connections, declarative and programmatic transactions, and multi-tenant support. - [Winter Data Redis: PhpRedis Client Module](https://suvera.mintlify.app/modules/data-redis.md): Winter Data Redis provides PhpRedis-backed templates for single nodes, clusters, arrays, sentinels, and Dynomite token rings in Winter Boot applications. - [Winter Data Memcache: Memcached Client Module](https://suvera.mintlify.app/modules/data-memcache.md): Winter Data Memcache connects Winter Boot applications to Memcached servers using either the memcached or memcache PHP extension with Autowired templates. - [Winter Kafka: Kafka Producer and Consumer Module](https://suvera.mintlify.app/modules/kafka.md): Winter Kafka lets you produce and consume Kafka messages in Winter Boot with swoole and rdkafka support. Configure groups, producers, and workers through YAML. - [Winter SQS: AWS SQS Producer and Consumer Module](https://suvera.mintlify.app/modules/sqs.md): Winter SQS adds AWS SQS send and receive capabilities to Winter Boot. Configure connections, inject SqsService, and write workers modelled after the Kafka module. - [Winter S3: S3 Object Storage Module](https://suvera.mintlify.app/modules/s3.md): Winter S3 adds AWS S3 object storage to Winter Boot. Configure named connections, inject S3Template, and call the full S3 API with access keys or IAM roles. - [Winter OpenSearch: Search and Analytics Module](https://suvera.mintlify.app/modules/opensearch.md): Winter OpenSearch adds full-text search and analytics to Winter Boot. Configure clusters, inject OpenSearchTemplate, and use basic auth or AWS SigV4 signing. - [Winter Eureka: Service Discovery Module](https://suvera.mintlify.app/modules/eureka.md): Set up service discovery in Winter Boot with Consul.io or Netflix Eureka. Configure discovery clients, install the module, and autowire clients in your PHP application. - [Winter DTCE: Distributed Task Computing Engine](https://suvera.mintlify.app/modules/dtce.md): Winter DTCE distributes tasks across nodes with pluggable queues and stores. Configure Redis, Kafka, Pdbc, or local backends for resilient background processing. - [Winter Memdb: Embedded In-Memory Database Module](https://suvera.mintlify.app/modules/memdb.md): Run embedded in-memory database engines (Redis, Apache Ignite, Memcached, Hazelcast) inside your Winter Boot application lifecycle with automatic startup and shutdown. - [Winter Security: Planned Application Security Module](https://suvera.mintlify.app/modules/security.md): Winter Security is a planned Winter Boot module. The winter-security package is reserved in the winter-modules monorepo but does not yet ship implementation code. - [Examples built with Winter Boot and Winter Modules](https://suvera.mintlify.app/examples/overview.md): Browse end-to-end example apps built with Winter Boot and Winter Modules. - [Redis Sample Application](https://suvera.mintlify.app/examples/redis-app.md): Build an end-to-end Redis app with Winter Boot and the Winter Redis module that stores strings, counters, hashes, lists, and sets. - [Doctrine Sample Application](https://suvera.mintlify.app/examples/doctrine-app.md): Build a user CRUD API with Winter Boot and the Doctrine ORM module, using programmatic transactions against PostgreSQL. - [SQS Sample Application](https://suvera.mintlify.app/examples/sqs-consumer.md): Build an end-to-end SQS consumer app with Winter Boot and the Winter SQS module that writes every message to a file, tested locally with ElasticMQ. - [Kafka Sample Application](https://suvera.mintlify.app/examples/kafka-app.md): Build an end-to-end Kafka consumer app with Winter Boot and the Winter Kafka module that writes every message to a file, tested locally with a single-broker Kafka. - [S3 Sample Application](https://suvera.mintlify.app/examples/s3-app.md): Build an end-to-end S3 app with Winter Boot and the Winter S3 module that uploads, downloads, lists, and deletes objects, tested locally with MinIO. - [OpenSearch Sample Application](https://suvera.mintlify.app/examples/opensearch-app.md): Build an end-to-end OpenSearch app with Winter Boot and the Winter OpenSearch module that indexes, searches, updates, and deletes documents. - [Daemon Threads Sample Application](https://suvera.mintlify.app/examples/daemon-app.md): Run a supervised background daemon with Winter Boot that watches an inbox directory and processes new files as they arrive. - [Scheduler Sample Application](https://suvera.mintlify.app/examples/scheduler-app.md): Run recurring maintenance jobs with Winter Boot scheduling: an hourly temp-file cleanup and a daily summary tick. - [DTCE Sample Application](https://suvera.mintlify.app/examples/dtce-app.md): Build an end-to-end DTCE app with Winter Boot that prices order invoices in background workers, tested locally with a shared queue and disk store. - [AOP Sample Application](https://suvera.mintlify.app/examples/aop-app.md): Protect a REST endpoint with a custom AOP attribute that checks a request header and denies with 403. - [Attribute Reference: Every Winter Boot Stereotype](https://suvera.mintlify.app/reference/attributes.md): One-stop reference for every PHP 8 attribute Winter Boot ships: application, DI, web, data, async, caching, transactions, actuator, CLI, and testing. - [application.yml Reference: Every Top-Level Configuration Key](https://suvera.mintlify.app/reference/application-yml.md): Complete reference for application.yml: server, winter, datasource, modules, logger, and module-specific keys, with a link to the concept page that documents each.