semitexa / platform-settings
Semitexa Platform Settings system settings store for modules (multi-tenant aware)
Package info
github.com/semitexa/platform-settings
Type:semitexa-module
pkg:composer/semitexa/platform-settings
Requires
- php: ^8.4
- semitexa/core: *
- semitexa/orm: *
- semitexa/update: *
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-08 18:19:28 UTC
README
System settings store for modules with per-tenant isolation.
Install
Included in every project created by the installer (https://semitexa.com/install.sh).
Purpose
Provides a key-value settings store scoped by module and optional tenant. Any module can persist its own configuration through SettingsStoreInterface. When tenancy is active, settings are automatically isolated per tenant.
Role in Semitexa
Depends on Core, ORM and Update (a data patch backfills tenant_id). Used by platform modules to store runtime configuration.
Key Features
SettingsStoreInterfacecontract:get,set,getAll,remove,has,claimper module key, plus*ForUservariants for personal settings- Automatic tenant isolation via
tenant_idscoping - JSON-serializable values (scalar, array, object)
- ORM-backed persistence (
platform_settingstable, auto-synced viaorm:sync) - Without a tenant context, settings are stored under the
defaulttenant
Notes
Settings are scoped by (tenant_id, user_id, module_key, key); user_id is NULL for module-wide settings. Module keys identify the owning package (e.g., platform-user). Modules interact programmatically via the injected SettingsStoreInterface.