semitexa / storage
Semitexa Storage — driver-based file storage abstraction (local, S3/MinIO)
Package info
github.com/semitexa/semitexa-storage
Type:semitexa-module
pkg:composer/semitexa/storage
Requires
- php: ^8.4
- semitexa/core: *
- semitexa/orm: *
This package is auto-updated.
Last update: 2026-04-05 09:00:35 UTC
README
Driver-based file storage abstraction with local and S3/MinIO backends.
Purpose
Provides a unified file storage API across local filesystem and S3-compatible object stores. Handles path namespacing for tenant isolation, metadata tracking via ORM, and CDN-ready URL generation.
Role in Semitexa
Depends on semitexa/core and semitexa/orm. Used by semitexa/mail for attachments and semitexa/platform-user for avatar storage. Drivers are resolved via the container and selected per storage context.
Key Features
StorageManagerfacade with driver selectionLocalDriverfor filesystem storageS3Driverfor S3/MinIO object storageStorageDriverInterfacefor custom backendsStoredObjectDescriptorandStoredObjectMetadatavalue objects- Tenant-aware path namespacing
StorageObjectStoreInterfacefor metadata persistence
Notes
Storage paths are automatically namespaced per tenant when tenancy is active. Drivers are stateless and safe for concurrent use in Swoole.