figdice / figdice
Template Engine, XML-centric and attribute-driven
Installs: 2 424
Dependents: 1
Suggesters: 0
Security: 0
Stars: 20
Watchers: 1
Forks: 3
Open Issues: 4
Requires
- php: >=5.4
- ext-dom: *
- ext-xml: *
Requires (Dev)
- mikey179/vfsstream: v1.2.0
- phpunit/phpunit: ^5
README
Abstract
FigDice is a templating engine for PHP. It differs from most of the popular template systems, with regards to the way the presentation data are made available to the templates: instead of pushing the data from the Controller to the View, you build Views that pull the immutable data that they need.
FigDice focuses on the Web Designer stand-point. Designers and Developers agree together on structure of the self-contained beans (called Feeds in FigDice) that Developers make available to Designers, and then the Designers may reuse them anywhere they need, and combine them with other Feeds into pages and macros. The View Controllers in FigDice become generic presenters whcih don't need to know the details of what is presented in what template, since the templates themselves will activate their favorite Feeds to pull their data.
See figdice.org
Try a Live Demo now!
Presentation and Tutorial:
- SitePoint | Getting Started With FigDice (English)
- php[architect] | December 2015 (English)
- GNU/Linux Magazine France | 158, March 2013 (French)
Features
- Fast, easy and powerful Template Engine
- HTML syntax for your Templates: FigDice brings a set of extended attributes to help you construct the logics.
- You can display your templates WYSIWYG in your browser/editor
- Manipulate your data with the help of a simple and powerful expression parser
- Built-in i18n, using keys/values from cached dictionaries
- Inclusions, loops, conditions, with a non-intrusive syntax inside the document
- No programming required, for the Template designers
- Hermetic separation between the application's layers (Presentation / Logics)
- Inversion of control: the Templates pull the data on-demand. The controllers need not know the templates by heart beforehand
Installation
Add the figdice dependency to the require
section of your composer.json
file:
"figdice/figdice": "~3.x-dev"
Getting Started
Browse the examples!
See Wiki for more details.