You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.9 KiB
42 lines
1.9 KiB
4 months ago
|
template engine for php, allows to store your html code apart from your php code.
|
||
|
(tested with php 3.0.11, 4.0.3, 4.0.4)
|
||
|
|
||
|
features:
|
||
|
-simple variable interpolation ( {STUFF} )
|
||
|
-array variable interpolation
|
||
|
for eg. {ROW.ID} {ROW.NAME} {ROW.WHATEVER}, you assign an array to the variable ROW once
|
||
|
-global PHP variables available without making assigns
|
||
|
for eg. {PHP.HTTP_HOST} {PHP.PHP_SELF} or any variable: {PHP.session_id}
|
||
|
-assign using arrays
|
||
|
for eg. $xtpl->assign(array(STUFF=>"kewlstuff",ROW=>$row));
|
||
|
-default nullstring for unassigned variables and unparsed blocks,
|
||
|
custom nullstring for every variable or block
|
||
|
-dynamic blocks:
|
||
|
-multiple level dynamic blocks (nested blocks)
|
||
|
-autoreset feature (do not reset subblocks when reparsing parent block)
|
||
|
-recursive parse to parse all subblocks of a block
|
||
|
-file(template) include: {FILE "another.template.xtpl"}, the included templates can
|
||
|
also contain includes recursively.. uses fopen so you can include http:// and ftp:// files too
|
||
|
-very simple and powerful syntax, you'll love it :)
|
||
|
|
||
|
the code is very short and very optimized, according to my speed tests it's the
|
||
|
fastest template engine around which can do nested blocks and variables..
|
||
|
|
||
|
the basic syntax is from FastTemplate and QuickTemplate (http://phpclasses.upperdesign.com/browse.html/package/49),
|
||
|
but the entire class was written by me from scratch in one day, without a line from other
|
||
|
template engines. THIS IS NOT A REWRITE OF OTHER ENGINES!
|
||
|
the algorithm used makes this code amazing fast, you can do a bunch of
|
||
|
nested dynamic blocks and everything you want, because it doesn't use recursive calls
|
||
|
to build up the block tree.
|
||
|
|
||
|
contains 7 examples (which covers all features i think),
|
||
|
i tried to write them so even newbies should understand easily.
|
||
|
|
||
|
docs and some functions i didn't need (clearing variables, etc) are still missing, but they'll come.
|
||
|
|
||
|
current version is 0.2.4, tested it more & more.
|
||
|
|
||
|
contact info contained in xtpl.p
|
||
|
|
||
|
licensed LGPL.
|