<?php
/**
* This file is an example of an application with Templet class.
* Distribution is intended for education / studying purposes only.
*
* Copyright [2021] [Wim Niemans <niemans@pbsolo.nl>]
*/
include '../Template.class.php';
/**
* @author wim niemans, Rotterdam, Bonn
* @license EUPL
*/
$template = new Template(); // default: keepOrphans
$template->setVar('speed', 'quick');
$template->setVar('color', 'brown');
$template->setVar('action', 'jumps');
$template->setVar('pet', 'dog');
$template->setVar('printMe', true); // variable used in logic features
clearstatcache();
$time = microtime(true);
$embeddedVars = '"The ".{speed}." ".{color}." fox ".{action}." over the lazy ".{pet}."."';
// unit test 1 php native
$template->setVar('pangram', "<?php echo $embeddedVars ".' ?'.'>');
$template->parse('output', 'pangram');
echo 'unit 1 ' . $template->tidy('output') . " \n";
// unit test 2 php echo native
$template->setVar('pangram', "<?= $embeddedVars".' ?'.'>');
$template->parse('output', 'pangram');
echo 'unit 2 ' . $template->tidy('output') . " \n";
// unit test 3 asp tags
$template->setVar('pangram', "<% echo $embeddedVars".' %>');
$template->parse('output', 'pangram');
echo 'unit 3 ' . $template->tidy('output') . " \n";
// unit test 4 asp echo's
$template->setVar('pangram', "<%= $embeddedVars".' %>');
$template->parse('output', 'pangram');
echo 'unit 4 ' . $template->tidy('output') . " \n";
// unit test 5 html comment
$template->setVar('pangram', '<!-- The {speed} {color} fox {action} over the lazy {pet}. -->');
$template->parse('output', 'pangram');
echo 'unit 5 ' . $template->tidy('output') . " \n";
// unit test 6 native comment
$template->setVar('pangram', '{# The {speed} {color} fox {action} over the lazy {pet}. #}');
$template->parse('output', 'pangram');
echo 'unit 6 ' . $template->tidy('output') . " \n";
// unit test 7 advanced logic
$template->setVar('pangram', '{!!if {printMe} == true !!}'
.'The {speed} {color} fox {action} over the lazy {pet}.'
.'{!endif}');
$template->parse('output', 'pangram');
echo 'unit 7 ' . $template->tidy('output') . " \n";
// unit test 8 simple logic
$template->setVar('pangram', '{!if printMe}'
.'The {speed} {color} fox {action} over the lazy {pet}.'
.'{!endif}');
$template->parse('output', 'pangram');
echo 'unit 8 ' . $template->tidy('output') . " \n";
// unit test 8A simple logic
$template->setVar('pangram', '{!if {printMe2}}'
.'The {speed} {color} fox {action} over the lazy {pet}.'
.'{!endif}');
$template->setVar('printMe2', 'printMe');
$template->parse('output', 'pangram');
echo 'unit 8A ' . $template->tidy('output') . " \n";
// unit test 9 global var
$template->setVar('pangram', '{$globalMe {speed},{color},{action},{pet} }');
$globalMe = 'The %s %s fox %s over the lazy %s.';
$template->parse('output', 'pangram');
echo 'unit 9 ' . $template->tidy('output') . " \n";
// unit test 10 object access
$template->setVar('pangram', '{@template getVar output @}');
$template->setVar('template', $template);
$template->parse('output', 'pangram');
echo 'unit 10 ' . $template->tidy('output') . " \n";
$elapsed = microtime(true) - $time;
echo "\n elapsed $elapsed \n";
?>
|