beecubu / php-foundation-emailer-sqlite
SQLite persistence plugin for php-foundation-emailer. Provides the email queue repository backed by SQLite.
Package info
bitbucket.org/beecubu/php-foundation-emailer-sqlite
pkg:composer/beecubu/php-foundation-emailer-sqlite
Requires
- php: >=8.4.0
- beecubu/php-foundation-emailer: ^2.0
- beecubu/php-foundation-sqlite: ^1.0
This package is not auto-updated.
Last update: 2026-03-11 13:54:50 UTC
README
SQLite persistence plugin for php-foundation-emailer. Provides the email queue repository implementation backed by SQLite.
What it provides
IEmailQueueRepositoryimplementation (EmailQueueDB) — stores the email queue in anemails_queueSQLite table.RepositoryBootstrapto register the repository withEmailQueueProvider.
Requirements
- PHP 8.4+
Installation
composer require beecubu/php-foundation-emailer
composer require beecubu/php-foundation-emailer-sqlite
Usage
1) Initialize the repository
Call RepositoryBootstrap::register() once at application bootstrap, before any email queuing or queue processing:
use Beecubu\Foundation\Emailer\SQLite\RepositoryBootstrap;
RepositoryBootstrap::register();
2) Configure the SQLite connection
The plugin uses the SQLITE_DATABASE constant, following the same convention as the rest of the framework:
define('SQLITE_DATABASE', '/path/to/database.sqlite');
3) Custom repository (optional)
If you want to inject a custom IEmailQueueRepository implementation:
use Beecubu\Foundation\Emailer\SQLite\RepositoryBootstrap;
RepositoryBootstrap::register(new MyCustomEmailQueueDB());
Notes
- The email queue is stored in the
emails_queuetable withid TEXT PRIMARY KEYanddata JSONcolumns. The table is created automatically on first use. - The core
php-foundation-emailerpackage is database-agnostic; this plugin provides the SQLite-specific implementation. - Each email item is stored as a JSON blob; the
idis a UUID string generated automatically on insert.