semitexa / core
Semitexa Core - framework runtime, console tooling, and composer integration
Requires
- php: ^8.4
- composer-plugin-api: ^2.0
- predis/predis: ^2.0
- psr/container: ^2.0
- semitexa/docs: *
- semitexa/tenancy: *
- symfony/console: ^7.3
- symfony/process: ^7.3
Requires (Dev)
- swoole/ide-helper: ^5.1
- dev-master
- 2026.05.08.1640
- 2026.04.26.0639
- 2026.04.23.0637
- 2026.04.22.1153
- 2026.04.22.1008
- 2026.04.21.1359
- 2026.04.21.0704
- 2026.04.17.1043
- 2026.04.17.0433
- 2026.04.15.1848
- 2026.04.15.1128
- 2026.04.15.0921
- 2026.04.12.1209
- 2026.04.09.1145
- 2026.04.08.2025
- 2026.04.07.2058
- 2026.04.07.1933
- 2026.04.07.1133
- 2026.04.06.1418
- 2026.04.05.2113
- 2026.04.05.1915
- 2026.04.05.0855
- 2026.04.03.1349
- 2026.04.03.1240
- 2026.04.03.1207
- dev-develop
This package is auto-updated.
Last update: 2026-05-09 05:36:55 UTC
README
Framework runtime: request/response lifecycle, attribute-driven discovery, DI container, CLI tooling, and Swoole integration.
Purpose
The foundation of every Semitexa application. Manages the full request lifecycle — from route discovery via PHP 8.4 attributes through handler execution to response rendering. Provides the DI container with two-tier scoping (worker-readonly + request-mutable), the CLI via bin/semitexa, and the Composer plugin for classmap-based discovery.
Role in Semitexa
Root dependency for all Semitexa packages. Every module, platform component, and library builds on Core's attribute discovery, container, and pipeline.
Key Features
#[AsPayload]/#[AsPayloadHandler]attribute-driven routing- route-level
produces/consumesmetadata for content negotiation AttributeDiscoveryandClassDiscoveryvia Composer classmap- Two-tier DI:
SemitexaContainer(worker-scoped readonly) +RequestScopedContainer(per-request mutable) RouteExecutorpipeline with exception mapping and response decorationExceptionResponseMapperInterface/RouteMetadataResolverInterface/RouteInspectionRegistryInterfaceseamsHttpStatusenum replacing magic integersEventDispatcherwith sync/defer/queued modes- Redis and SwooleTable session handlers
bin/semitexaCLI (server:start, db:migrate, code generation)- Composer plugin for framework integration
Notes
Core is a Composer plugin (type: composer-plugin). It installs framework scaffolding and provides classmap-based discovery. The two-tier container design is essential for Swoole: readonly bindings survive across requests, mutable bindings are cloned per request.