C · C++ · PHP extension · native ABI
GetBible Sword PHP Extension
A native PHP extension exposing the released getBibleSword C ABI through streamed PHP APIs without subprocess startup or an ambient SWORD shared-library dependency.
- Role
- Principal architect, native-integration engineer and maintainer
- Evidence
- 2 direct public links
Purpose and value
Why this system exists
The extension turns a native C/C++ engine into a deterministic, packageable PHP boundary while preserving ABI separation, failure visibility and reproducible evidence.
Principal architect, native-integration engineer and maintainer
System structure
Architecture
- 01
Zend extension code binds to the stable getBibleSword C ABI rather than the C++ implementation ABI.
- 02
Streamed PHP APIs preserve line-oriented NDJSON behaviour without subprocess overhead.
- 03
Native dependencies are pinned and built through reproducible packaging paths.
- 04
Extension packaging, installation and runtime validation are treated as one release boundary.
Boundaries
Principal interfaces
Judgement
Engineering decisions
Bind PHP to the stable C ABI so language integration is insulated from C++ ABI changes.
Avoid ambient shared-library assumptions by pinning and packaging native dependencies.
Use PHPT and golden evidence to validate behaviour at the actual PHP boundary.
Confidence model
Delivery, validation, and maintenance
- 41-commit reviewed history
- PHPT extension tests and deterministic golden evidence
- Pinned native dependencies and reproducible builds
- Explicit ABI and package-release boundaries
Direct sources
Inspect the evidence
41 commits in the exact reviewed history, including C/Zend integration, PIE packaging, PHPT tests, pinned native dependencies and reproducible golden evidence.
The extension exposes the released ABI and does not claim unimplemented network or module-management operations.