beecubu/php-foundation-emailer-sqlite

SQLite persistence plugin for php-foundation-emailer. Provides the email queue repository backed by SQLite.

Maintainers

Package info

bitbucket.org/beecubu/php-foundation-emailer-sqlite

pkg:composer/beecubu/php-foundation-emailer-sqlite

Statistics

Installs: 7

Dependents: 0

Suggesters: 0

v1.0.0 2026-03-10 15:25 UTC

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

  • IEmailQueueRepository implementation (EmailQueueDB) — stores the email queue in an emails_queue SQLite table.
  • RepositoryBootstrap to register the repository with EmailQueueProvider.

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_queue table with id TEXT PRIMARY KEY and data JSON columns. The table is created automatically on first use.
  • The core php-foundation-emailer package is database-agnostic; this plugin provides the SQLite-specific implementation.
  • Each email item is stored as a JSON blob; the id is a UUID string generated automatically on insert.