All of the extra instructions are converted to echos of different types. As a result, we end up with many consecutive echos, many of them with string literals. If left alone, it would be a complete drag in the performance of the resulting code. The compact_echo plugin handles that. The source files compact_echo.h and compact_echo.cpp are a separate plugin, usefull on its own, besides the pre-compiler.
Compact_echo will convert this:
<?php
echo "1" . (1 . $a ), 'ab';
echo 'c' ,2;
if ($a) {
echo 2;
//$a=1;
echo $a;
}
?>
Into this:
<?php
echo "1", 1, $a, "abc", 2;
if($a)
{
echo 2, $a;
}
?>
Notice it compacts into a single echo the echos found in multiple lines,
ignoring intermediate comments and it replaces the string concatenation operator
(.) by simply echoing each operand as a separate argument, which is
faster. On the other hand, if there are two consecutive string literals,
it concatenates them into a single one at pre-compile time, which saves time at
execution time.
| < Previous: Escaped echo |