PHPCSStandards / PHPCSExtra

A collection of code standards for use with PHP_CodeSniffer
GNU Lesser General Public License v3.0
91 stars 8 forks source link

Feature suggestion: new sniff `EchoConcatenation` #285

Open jrfnl opened 11 months ago

jrfnl commented 11 months ago

Repost from https://github.com/squizlabs/PHP_CodeSniffer/issues/2259:

Inspired by this Twitter thread and this article.

Using concatenation exponentially increases the memory PHP uses. While in a lot of cases, there is no alternative, there are some specific situations, where there is, most notably when using echo where comma's or interpolation can be used instead.

Question: Would there be interest in a sniff to detect (and possibly auto-fix) this ?

I image a sniff like this could go into the Generic.CodeAnalysis category.

Detect:

echo "Hello " . $name . "! Welcome!"; // Use comma's or interpolation instead.
echo '<div><span>' . function_call($foo) . '</span>' . function_call($bar) . '</div>'; // Use comma's instead.

Recommended alternative way of writing this code:

echo "Hello $name! Welcome!";
echo '<div><span>', function_call($foo), '</span>', function_call($bar), '</div>';

For more code examples, see the ClearPHP article.