[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)