Adding {varPrint} or {templatePrint} to a template that is rendered with renderToString creates an empty output.
Expected Behavior
Actual output of {varPrint} or {templatePrint} is sent.
Possible Solution
The cause for this bug is the start of an output buffer in Template::capture that is than discarded due to the printers calling exit.
Instead of calling exit a custom exception could be thrown, that is caught in Template::capture to output the current buffer and exit then. It could also be caught in Engine::render and to just call exit there.
Version: 3.0
Bug Description
Adding
{varPrint}
or{templatePrint}
to a template that is rendered withrenderToString
creates an empty output.Expected Behavior
Actual output of
{varPrint}
or{templatePrint}
is sent.Possible Solution
The cause for this bug is the start of an output buffer in
Template::capture
that is than discarded due to the printers callingexit
.Instead of calling
exit
a custom exception could be thrown, that is caught inTemplate::capture
to output the current buffer and exit then. It could also be caught inEngine::render
and to just callexit
there.