figdice/figdice

Template Engine, XML-centric and attribute-driven

3.3.1 2019-11-07 07:22 UTC

This package is auto-updated.

Last update: 2024-02-29 02:21:09 UTC


README

License: MIT Build Status Latest Stable Version Coverage Status @figdice on Twitter

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:

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.