-
Notifications
You must be signed in to change notification settings - Fork 77
Open
Description
The PHP Code:
require('./vendor/autoload.php');
use LightnCandy\LightnCandy;
// The Template:
$template = <<<VAREND
{{#each (myfunc 'foo(bar)' ) }}
{{/each}}
VAREND;
// Helpers:
$helpers = array(
'myfunc' => function ($arg) {
return ...;
},
);
$phpStr = LightnCandy::compile($template, array(
// Used compile flags
'flags' => LightnCandy::FLAG_ERROR_EXCEPTION | LightnCandy::FLAG_HANDLEBARS,
'helpers' => $helpers,
));
echo "Generated PHP Code:\n$phpStr\n";
// Save the compiled PHP code into a php file
file_put_contents('render.php', '<?php ' . $phpStr . '?>');
// Get the render function from the php file
$renderer = include('render.php');
echo "Result:\n" . $renderer($data);
The Issue:
If the arguments passed to a helper function which is used as a subexpression contain parentheses, the parser throws an error:
`Error in 'each (myfunc 'foo(bar)' )': expect ')' but the token ended!! No argument after {{#each}} !
Is there any way to escape them, or use a different bracket style to wrap the subexpression?
theodorejb
Metadata
Metadata
Assignees
Labels
No labels