Modern PHP · immutable domain objects · concurrency controls

GetBible Scripture Application Layer

An object-oriented PHP application layer over the native extension that validates the NDJSON contract and exposes immutable, lazy Bible-domain objects with controlled refresh and integration paths.

Current application-layer engineering
Role
Principal application-layer architect and maintainer
Evidence
2 direct public links
  • PHP
  • Composer
  • Joomla Framework
  • Dependency Injection
  • NDJSON
  • Shell
  • CI

Purpose and value

Why this system exists

Scripture converts a native streaming interface into maintainable application semantics: validated contracts, immutable models, dependency injection, bounded locks, snapshots and scheduled refresh.

Engineering role

Principal application-layer architect and maintainer

System structure

Architecture

  1. 01

    A contract-validation boundary converts native NDJSON into immutable Bible, book, chapter and verse objects.

  2. 02

    Lazy access avoids loading an entire corpus when a caller requires a bounded subset.

  3. 03

    Snapshot and refresh state are coordinated through explicit locks and atomic publication.

  4. 04

    Console commands and Joomla scheduled-task integration reuse the same application services.

Boundaries

Principal interfaces

Composer package and PHP domain API
GetBible Sword native extension
Console commands and dependency-injection services
Joomla scheduled tasks and refresh state

Judgement

Engineering decisions

Validate the native stream before constructing application-domain objects.

Use immutable, lazy models to control memory, state and caller expectations.

Make refresh and publication concurrency visible through bounded locks and snapshots.

Confidence model

Delivery, validation, and maintenance

  • 23-commit exact reviewed history
  • Contract and snapshot validation
  • Bounded-lock and refresh-state controls
  • Reusable CLI and Joomla integration paths

Direct sources

Inspect the evidence

Current verified scope

23 commits in the exact reviewed history; source includes snapshots, bounded locks, refresh state, dependency injection, console commands and Joomla scheduled-task integration.

Interpretation boundary

The application depends on the native extension and installed SWORD modules; provisioning remains capability-gated.

Source reviewed to 2026-07-29

Rapid navigation

Go to

navigate Enter open