diff --git a/klein.php b/klein.php index 725d001..2c4d43e 100644 --- a/klein.php +++ b/klein.php @@ -1,6 +1,6 @@ "; + }, $result) . " ?>"; return ($x[0][2] == '!') ? "" : $code; }]; }, [ ["{% for+:id+in+:var %}", "foreach(#2s as \$index => #1s): \$loop = Klein::loop(\$index, #2s);"], ["{% for+:id , :id+in+:var %}", "foreach(#3s as #1s => #2s):"], ["{% endfor %}", "endforeach;"], + ["{% ifset+:var %}", "if(isset(#1s)):"], ["{% if+:var %}", "if(isset(#1s) && #1s):"], ["{% unless+:var %}", "if(!(isset(#1s) && #1s)):"], ["{% else %}", "else:"], @@ -30,7 +31,7 @@ class Klein { ["{% macro+:id \(( :id (, :id )*)?\) %}", "function macro_#1(#2s) {"], ["{% endmacro %}", "}"] ]); - + $result = file_get_contents($html); foreach($pattern as $arg) { $result = preg_replace_callback($arg[0], $arg[1], $result); @@ -42,10 +43,10 @@ class Klein { static function loop($idx, &$array) { $is_even = $idx % 2; return ['first' => $idx == 0 - , 'last' => $idx == count($array) - 1 - , 'odd' => !$is_even - , 'even' => $is_even]; - } + , 'last' => $idx == count($array) - 1 + , 'odd' => !$is_even + , 'even' => $is_even]; + } function render($vars) { extract($vars);