Top Level :: HTML

Package Information: HTML_Template_Flexy

» Summary » License
An extremely powerful Tokenizer driven Template engine PHP License
» Current Release » Bug Summary
1.3.13 (stable) was released on 2014-11-21 by alan_k (Changelog)
Easy Install

Not sure? Get more info.

pear install HTML_Template_Flexy

Pyrus Install

Try PEAR2's installer, Pyrus.

php pyrus.phar install pear/HTML_Template_Flexy

  • Package Maintenance Rank: 186 of 229 packages with open bugs
  • Number of open bugs: 5 (101 total bugs)
  • Average age of open bugs: 5456 days
  • Oldest open bug: 6011 days
  • Number of open feature requests: 23 (59 total feature requests)

Report a new bug to HTML_Template_Flexy
» Description
HTML_Template_Flexy started it's life as a simplification of HTML_Template_Xipe,
however in Version 0.2, It became one of the first template engine to use a real Lexer,
rather than regex'es, making it possible to do things like or Cold Fusion tags.
However, it still has a very simple set of goals.
- Very Simple API,
o easy to learn...
o prevents to much logic going in templates
- Easy to write document'able code
o By using object vars for a template rather than 'assign', you
can use phpdoc comments to list what variable you use.
- Editable in WYSIWYG editors
o you can create full featured templates, that doesnt get broken every time you edit with
Dreamweaver(tm) or Mozilla editor
o Uses namespaced attributes to add looping/conditionals
- Extremely Fast,
o runtime is at least 4 time smaller than most other template engines (eg. Smarty)
o uses compiled templates, as a result it is many times faster on blocks and loops than
than Regex templates (eg. IT/phplib)
- Safer (for cross site scripting attacks)
o All variables default to be output as HTML escaped (overridden with the :h modifier)
- Multilanguage support
o Parses strings out of template, so you can build translation tools
o Compiles language specific templates (so translation is only done once, not on every request)
- Full dynamic element support (like ASP.NET), so you can pick elements to replace at runtime

- {variable} to echo $object->variable
- {method()} to echo $object->method();
- {foreach:var,key,value} to PHP foreach loops
- tag attributes FLEXY:FOREACH, FLEXY:IF for looping and conditional HTML inclusion
- {if:variable} to PHP If statement
- {if:method()} to PHP If statement
- {else:} and {end:} to close or alternate If statements
- FORM to HTML_Template_Flexy_Element's
- replacement of INPUT, TEXTAREA and SELECT tags with HTML_Template_Flexy_Element code
use FLEXY:IGNORE (inherited) and FLEXY:IGNOREONLY (single) to prevent replacements
- FLEXY:START/FLEXY:STARTCHILDREN tags to define where template starts/finishes
- support for urlencoded braces {} in HTML attributes.
- documentation in the pear manual

- examples at
» Maintainers » More Information

Dependencies for HTML_Template_Flexy