function __construct($tpl) { $this->tpl = $tpl; $config = array("tpl_dir" => "view/", "cache_dir" => "template_cache/"); //add url tag parent::registerTag("({@.*?@})", "{@(.*?)(?:\\|(.*?))@}", function ($params) { // function called by the tag $tag = $params[1][0]; $arg = $params[2][0]; return Yeast::generateURI($tag, $arg); }); parent::configure($config); }
<?php // include require "library/Rain/autoload.php"; // namespace use Rain\Tpl; // conf $config = array("base_url" => null, "tpl_dir" => "templates/raintpl2/", "cache_dir" => "cache/", "debug" => true); Tpl::configure($config); // Add PathReplace plugin Tpl::registerPlugin(new Tpl\Plugin\PathReplace()); global $global_variable; $global_variable = "I'm Global"; // set variables $var = array("variable" => "Hello", "version" => "3.0 Alpha", "menu" => array(array("name" => "Home", "link" => "index.php", "selected" => true), array("name" => "FAQ", "link" => "index.php/FAQ/", "selected" => null), array("name" => "Documentation", "link" => "index.php/doc/", "selected" => null)), "week" => array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"), "title" => "Rain TPL 3 - Easy and Fast template engine", "user" => array(array("name" => "Fede", "color" => "blue"), array("name" => "Sheska", "color" => "red"), array("name" => "Who", "color" => "yellow")), "empty_array" => array(), "copyright" => "Copyright 2006 - 2012 Rain TPL<br>Project By Rain Team"); function test($params) { $value = $params[0]; return "Translate: <b>{$value}</b>"; } // add a function Tpl::registerTag("({@.*?@})", "{@(.*?)@}", "test"); // draw $tpl = new Tpl(); $tpl->assign($var); echo $tpl->draw("page");
$config = array("base_url" => null, "tpl_dir" => "templates/test/", "cache_dir" => "cache/", "remove_comments" => true, "debug" => true); Tpl::configure($config); // Add PathReplace plugin (necessary to load the CSS with path replace) Tpl::registerPlugin(new Tpl\Plugin\PathReplace()); // set variables $var = array("variable" => "Hello World!", "bad_variable" => "<script>alert('evil javascript here');</script>", "safe_variable" => "<script>console.log('this is safe')</script>", "version" => "3.0 Alpha", "menu" => array(array("name" => "Home", "link" => "index.php", "selected" => true), array("name" => "FAQ", "link" => "index.php/FAQ/", "selected" => null), array("name" => "Documentation", "link" => "index.php/doc/", "selected" => null)), "week" => array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"), "user" => (object) array("name" => "Rain", "citizen" => "Earth", "race" => "Human"), "numbers" => array(3, 2, 1), "bad_text" => 'Hey this is a malicious XSS <script>alert("auto_escape is always enabled");</script>', "table" => array(array("Apple", "1996"), array("PC", "1997")), "title" => "Rain TPL 3 - Easy and Fast template engine", "copyright" => "Copyright 2006 - 2012 Rain TPL<br>Project By Rain Team"); // add a tag Tpl::registerTag("({@.*?@})", "{@(.*?)@}", function ($params) { // function called by the tag $value = $params[1][0]; return "Translate: <b>{$value}</b>"; }); // add a tag Tpl::registerTag("({%.*?%})", "{%(.*?)(?:\\|(.*?))%}", function ($params) { // function called by the tag $value = $params[1][0]; $value2 = $params[2][0]; return "Translate: <b>{$value}</b> in <b>{$value2}</b>"; }); // draw $tpl = new Tpl(); $tpl->assign($var); echo $tpl->draw("test"); class Test { public static function method($variable) { echo "Hi I am a static method, and this is the parameter passed to me: {$variable}!"; } } // end
<?php // include require "library/Rain/autoload.php"; // namespace use Rain\Tpl; // configure $config = array("base_url" => null, "tpl_dir" => "templates/", "cache_dir" => "cache/", "debug" => true); Tpl::configure($config); // Add PathReplace plugin Tpl::registerPlugin(new Tpl\Plugin\PathReplace()); // set variables $var = array("variable" => "Hello World!", "version" => "3.0 Alpha", "menu" => array(array("name" => "Home", "link" => "index.php", "selected" => true), array("name" => "FAQ", "link" => "index.php/FAQ/", "selected" => null), array("name" => "Documentation", "link" => "index.php/doc/", "selected" => null)), "week" => array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"), "user" => (object) array("name" => "Rain", "citizen" => "Earth", "race" => "Human"), "numbers" => array(3, 2, 1), "bad_text" => 'Hey this is a malicious XSS <script>alert(1);</script>', "table" => array(array("Apple", "1996"), array("PC", "1997")), "title" => "Rain TPL 3 - Easy and Fast template engine", "copyright" => "Copyright 2006 - 2012 Rain TPL<br>Project By Rain Team"); // add a function Tpl::registerTag("({@.*?@})", "{@(.*?)@}", function ($params) { // function called by the tag $value = $params[0]; return "Translate: <b>{$value}</b>"; }); // draw $tpl = new Tpl(); $tpl->assign($var); echo $tpl->draw("bootstrap/hero"); // end