divengine / div
Div PHP Template Engine
Installs: 1 021
Dependents: 0
Suggesters: 0
Security: 0
Stars: 26
Watchers: 1
Forks: 3
Open Issues: 3
Requires
- php: >=8.0.0
- divengine/functions: ^1.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5
README
div is a template engine and code generator written in PHP and developed since 2011. It optimizes collaboration between developers and designers through generative programming, model-driven architecture, and meta-programming.
This engine facilitates separation of concerns and allows deep customization by creating tailored template dialects to fit specific project needs. Dialects can adapt syntax and behavior to match different frameworks or coding conventions.
A distinctive feature of div is its ability to recursively process templates until all code is resolved, effectively preventing infinite loops and enabling complex, multi-step transformations. This provides exceptional flexibility to dynamically generate content or code.
div is the cornerstone of Divengine Software Solutions and follows the philosophy "build more with less" and "divide the problem, not the people." Its code generation relies on clear rules: the model describes what must be done, the templates define the desired output, and the engine acts as a black box executor.
Basic operations:
- Compile: Combine a template with models and save the result.
- Transform: Convert one model to another, reusing compile.
- Compose: Integrate different results using the engine and other tools.
With div, teams can:
- Avoid repetitive tasks.
- Scale projects based on models.
- Migrate to different technologies.
- Expand applications to new platforms and devices.
It improves performance and empowers non-technical collaborators to contribute to development.
Install
composer require divengine/div
Documentation
For complete guides, usage examples, and advanced topics, please visit the project Wiki.
If you find something missing or have improvements, feel free to contribute directly to the Wiki!
Powered by Divengine Software Solutions