Download the PHP package rasuvaeff/yii3-outbox-db without Composer
On this page you can find all versions of the php package rasuvaeff/yii3-outbox-db. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rasuvaeff/yii3-outbox-db
More information about rasuvaeff/yii3-outbox-db
Files in rasuvaeff/yii3-outbox-db
Package yii3-outbox-db
Short Description Database-backed outbox storage for Yii3
License BSD-3-Clause
Homepage https://github.com/rasuvaeff/yii3-outbox-db
Informations about the package yii3-outbox-db
rasuvaeff/yii3-outbox-db
Database-backed storage for rasuvaeff/yii3-outbox.
Durably persists outbox messages in a yiisoft/db table so a worker can publish
or export them asynchronously — surviving process restarts and downstream outages.
Using an AI coding assistant? llms.txt has a compact API reference you can use.
Requirements
- PHP 8.3+
rasuvaeff/yii3-outbox^1.0yiisoft/db^2.0,yiisoft/db-migration^2.0
Installation
Usage
Migration
Apply the bundled migration to create the outbox table (default name outbox):
Recording and processing
Storage API
| Method | Purpose |
|---|---|
save(OutboxMessage) |
upsert by id (initial record or retry re-save) |
findPending(array $types = [], int $limit = 1000) |
pending rows, optional type filter, created_at ASC |
markPublished(OutboxMessage) |
re-save with Published status |
markFailed(OutboxMessage) |
re-save with Failed status |
getById(string $id) |
single message or null |
deleteByStatus(OutboxStatus) |
housekeeping (e.g. purge Published) |
findPending's $types filter lets several consumers — a generic Processor
and a specialized exporter — share one outbox without competing for each other's
messages.
Yii3 DI
The config-plugin binds StorageInterface to DbOutboxStorage from
config/di.php. Core yii3-outbox binds nothing, so this backend (or the
application) is the single source of StorageInterface. Set the table name in
params:
Security
- All values are written through
yiisoft/dbparameterized commands. OutboxRowMappervalidates every column and rejects corrupt rows withInvalidOutboxRowException— no silent coercion.- Payloads may contain PII; retention/purging is the application's responsibility
(
deleteByStatushelps).
Examples
Runnable scripts live in examples/.
Development
Core yii3-outbox is consumed via a path repository while unpublished — see
AGENTS.md for the monorepo-root Docker invocation.
License
BSD-3-Clause. See LICENSE.md.
All versions of yii3-outbox-db with dependencies
rasuvaeff/yii3-outbox Version ^1.0
yiisoft/db Version ^2.0
yiisoft/db-migration Version ^2.0