I found that in the muilti-module which is created by phalcon-tool has these code:
$application = new Application($di);
echo str_replace(["\n","\r","\t"], '', $application->handle()->getContent());
Why remove "\n","\r","\t"?
As Spangen pointed out, these are the escape sequences for some special 'whitespace' characters.
This link here has more information on them: https://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double
Now, an important note: for them to work as intended in PHP, you need to enclose them in double quotes, like: "\t", "\n"
. Single quotes won't produce the intended effects of these escape sequences: '\t', '\n'
.
To illustrate this more, you can run this code and see the results. Running it from console like php myfile.php
might cause some visual glitches, and running it in the browser will need that you view the 'source code'.
echo "Let's test... ";
echo "Because no new line characters were added, this sentence will be printed in the same line as the previous phrase.";
echo "\n";
echo "But now a new line was added, by typing \\n enclosed in double quotes.";
echo "\n";
echo "Now, let's add a tab, between the next two words: hello \t there.";
echo "\n";
echo "Now, let's add a carriage return, which will 'force' the 'cursor' in this string to move to the beginning, thus 'splitting' this string into two. Adding it now: \r There, I just added it before this last sentence.";
echo "\n";
echo 'Finally, these special characters will not work as intended if we just enclose the string with single quotes, as done in this string: \n \t \r';
This link here has more information on the difference between new lines and carriage returns: https://stackoverflow.com/a/12747850/466395
So yeah, in the original code that you posted, the person removed those special characters using str_replace(), because they tend to produce 'visual glitches' (unintented malformed output) in console.