[ANNOUNCEMENT] HTML_Template_Flexy-1.3.13 (stable) Released.
[email protected] ("PEAR Announce") Fri, 21 Nov 2014 05:29:11 +0000 (GMT)
| Newsgroups | php.pear.general |
|---|---|
| Message-ID | <[email protected]> |
The new PEAR package HTML_Template_Flexy-1.3.13 (stable) has been released at http://pear.php.net/.
Release notes
-------------
Minor fixes and feature release - includes PHP5 depricated fixes
Bug Fixes
#18825 - old cvs link on package description.. update to what will be broken soon.. svn link...
#----- - replace \e with preg_callback
#----- - work around https://bugs.php.net/bug.php?id=62796
#----- - support placeholder translation in password fields correctly
#----- - more fixes for placeholder translation, and better support for translator Dataobjects / fix static on factory
#----- - output for json should use encodeunsafe, otherwise header gets sent
#----- - ignore the string translation code on non-html templates - you can still use the {_(....)_} translation placeholder to flag a translatable string
New Features
#----- - add support for placeholder html5 tag for translation
#----- - Add support for DB_DataObject based template translations requires DB_DataObject to be autoloaded or required before use.
#----- - add test code for bug 19880
#----- - add raw include and json including for flexy:include src= type=raw|json name=[jsname]
#----- - support for storing original text from <xxxx flexy:contents="....">These contents</xxx> in flexy->compiler->contentStrings
#----- - support for full tag in flexy:contents="{standard.flexy[arg].stuff()}"
#----- - change default encoding to UTF-8
#----- - expose compiler when its used as flexy->compiler
#----- - move translation code into core class, and support element translation of input type=submit value=xxxxx
#----- - add extra comment on var, and hide error reporting on ob_end_clean - which output spurious warnings
#----- - tidy up code for output to file - ob_ methods playing up quite a bit on different versions of PHP
#----- - add outputObjectToFile - a memory friendly outputObject , which can not use inline functions, as support is not available in some servers..
#----- - remove pass by ref on object, as it is not needed any more
#----- - add new method resolvePath - that enables quering of where the template physicaly resides
#----- - PHP5.4 E_ALL change support
Package Info
------------
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 ASP.net 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
Features:
- {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 http://svn.php.net/pear/packages/HTML_Template_Flexy/trunk/tests/
Related Links
-------------
Package home: http://pear.php.net/package/HTML_Template_Flexy
Changelog: http://pear.php.net/package/HTML_Template_Flexy/download/1.3.13
Download: http://download.pear.php.net/package/HTML_Template_Flexy-1.3.13.tgz
Authors
-------
Alan Knowles <[email protected]> (lead)