Semitexa
Explore Articles ↗

Semitexa documentation

Find a concept, task, or command

Type to search every documentation page.

No matching documentation. Try a shorter task or a framework term.

↑↓ navigate↵ open
Sign in
Explore Semitexa
Explore the framework↗ Articles↗ Get started↗
Sign in
Guided path Start Here
  • Installation
  • Local Domain
  • Module Structure
  • Base Tenant
  • Locale Setup
  • AI Console
  • Project Graph Overview
  • Basic Route
  • DI Canon
Route-first map Full Catalog
GO Get Started
Module Structure
  • Module Structure
Onboarding
  • Installation
  • Local Domain
  • Base Tenant
  • Locale Setup
  • AI Console
  • Beyond Controllers
RT Routing & Handlers
Foundations
  • Basic Route
  • Parameterized Route
  • Env Route Override
Request Model
  • Payload As A Shield
  • Payload Parts
Delivery
  • Content Negotiation
  • Public Payload
DI Dependency Injection
Container Basics
  • DI Canon
  • Readonly Injection
  • Mutable Injection
  • Factory Injection
  • Service Contracts
DB Persistence
Modeling & Workflow
  • Domain-Level Models
  • Repository Workflow
  • Schema Sync, Not Migration Churn
Querying
  • Query Builder
  • Filtering
  • Pagination
  • Relations
  • Shared Table Extension
  • N+1 Without Magic
AU Security
Identity
  • Session Auth
  • Session Payloads
  • Google Authorization
  • Machine Auth
Access Control
  • Protected Route
  • Requires Permission
  • RBAC
EV Async
Event Flow
  • Execution Arena
  • Sync Events
  • Deferred Handler
  • Queued Handler
  • Server-Sent Events (SSE)
UI UI Rendering & SSR
SSR Foundation
  • SSR Philosophy
  • Resource DTOs
  • Slot Resources
  • Components
  • SEO
  • Asset Pipeline
  • Component Script Assets
  • Script Injection
Deferred Delivery
  • Deferred Blocks↗
  • Block Isolation
Reactive UI
  • Live Widgets
  • Reactive Report
  • Reactive Import
  • Reactive Analytics
  • Reactive AI Task
TN Tenancy
Tenant Resolution
  • Tenant Context Resolution
Tenant Configuration
  • Per-Tenant Configuration
  • Multi-Layer Tenancy
Isolation & Work
  • Data Isolation
  • Queue Tenant Propagation
API API
REST Surface
  • REST API
  • Structured Errors
  • Active Version
  • Sunset Version
Schema Discovery
  • Schema Discovery
  • GraphQL API
  • REST + GraphQL
CLI CLI
Describe & Inspect
  • Project Graph Introspection
  • Runtime Maintenance
Automation
  • Scaffolding Generators
  • Workers & Scheduling
  • Semitexa Dev
  • ORM Console Toolkit
PG Project Graph
Start Here
  • Project Graph Overview
Explore & Inspect
  • Inspecting the Graph
Impact & Context
  • Impact, Context, and Watch Mode
AI LLM
Assistant Surface
  • LLM Module Overview
  • Providers & Backends
Skill System
  • Adding Skills
  • Execution Flow
QA Testing
Contracts
  • Payload Contract Testing
← All sections
DI

Section Overview

Dependency Injection

5 live features

Single-path DI with explicit lifecycles, deterministic contracts, and stable boot behavior for long-running workers.

Support Semitexa
Built for developers who prefer control over magic. Your support helps keep it fast, open, and evolving.

Donate via PayPal

Route Map

Each feature page pairs live output with the source that produced it.

Container Basics

5

Dependency Injection

DI Canon

One canonical DI path for container-managed classes: protected property attributes, no constructor arguments, validated at boot and enforced by lint:di.

Open feature

Dependency Injection

Readonly Injection

The default tier: one instance per worker, injected into a protected property, with optional injection for dependencies that may not be installed.

Open feature

Dependency Injection

Mutable Injection

#[ExecutionScoped] opts a class into a per-execution clone; #[InjectAsMutable] marks the properties re-injected on that clone.

Open feature

Dependency Injection

Factory Injection

#[InjectAsFactory] injects a factory that picks a contract implementation by backed-enum key. Execution-scoped implementations come back fresh each time.

Open feature

Dependency Injection

Service Contracts

One module declares an interface, implementations advertise themselves with SatisfiesServiceContract, and the active one is visible in contracts:list.

Open feature

© 2026 Semitexa · 2026.11.11.0351