Dataphyre is the runtime engine behind Shopiro.ca.
It is a collection of modules created to make a very large PHP application observable, testable, diagnosable, and safe to evolve.
Dataphyre is not an MVC framework. It does not try to abstract PHP. It provides tools to understand and control what an application is doing at runtime.
License: MIT
While building Shopiro, several problems appeared that traditional frameworks did not solve well:
- Knowing exactly what happened during a request
- Refactoring safely in a multi-million line codebase
- Managing localization across hundreds of pages and languages
- Making routing expressive without becoming fragile
- Handling SQL, caching, and diagnostics in a predictable way
Dataphyre is the result of solving those problems directly.
Dataphyre is designed to support shared runtime and app-specific overrides.
common_dataphyre/ → shared runtime modules
dataphyre/ → app-specific config and overrides
Modules are independent and optional. Documentation for each module lives inside its folder.
Rather than a framework, Dataphyre provides runtime systems for:
- Request tracing and diagnostics
- Dynamic unit test generation
- Localization learning and syncing
- Parameter-driven routing
- SQL abstraction with caching and failover support
- Modular security components
- Async task scheduling
- PHP ≥ 8.1
- Composer
git clone https://github.com/jeremie5/dataphyre.git
cd dataphyre
- Core — foundational runtime hooks
- Routing — parameter-aware routing system
- Templating — layout inheritance, scoped styles, async rendering
- Supercookie — JSON session and state handling
- Async — background tasks and scheduling
- Cache — Memcached interface
- Scheduling — dependency-aware cron
- Perfstats — runtime performance tracking
- CASPOW — anti-spam proof-of-work
- Firewall — rate limiting and flood protection
- Sanitation — input filtering
- Access — auth and permissions
- Googleauthenticator — TOTP 2FA
- SQL — DB abstraction with queueing and caching
- Fulltext Engine — multi-backend search engine
- Currency — currency handling and formatting
Contributions are welcome. See the issues tab or open a new one.
Dataphyre includes Adminer (Apache 2.0) in the adminer directory.
Dataphyre is MIT-licensed. The Dataphyre trademark may not be used to endorse derived products.
Which is exactly the perception you need before they open any module file.
