Re: [RFC] Deprecate Backtick Operator (V2)

From: Date: Tue, 08 Oct 2019 09:00:46 +0000
Subject: Re: [RFC] Deprecate Backtick Operator (V2)
References: 1 2 3 4 5 6 7 8 9 10  Groups: php.internals 
Request: Send a blank email to internals+get-107409@lists.php.net to get a copy of this message
> Le 8 oct. 2019 à 10:26, Björn Larsson <bjorn.x.larsson@telia.com> a écrit : > > Den 2019-10-06 kl. 15:41, skrev Mark Randall: >> On 06/10/2019 14:18, Reinis Rozitis wrote: >>> Since `` are used for literal strings (for poorly chosen reserved words as field, table >>> names (which happens from time to time)) in MySQL (multiline) queries I doubt there is a simple way >>> to distinguish and replace everything to exec(). >> >> Hi, >> >> As the RFC states, there are already widely used tools available which can do this >> reliably: >> >> https://github.com/FriendsOfPHP/PHP-CS-Fixer >> backtick_to_shell_exec >> >> -- >> Mark Randall >> > Even if there are good tools, there is a cost in doing the upgrade > not just for doing the coding work, but also testing. Assume we > have legacy code that works perfectly, so what is then the benefit > to upgrade unless it goes in together with other features? > > Motivating to get a small budget to fix this in small company is > not obvious. The purity of PHP won't fly I think ;-) > > r//Björn L > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > When evaluating the _unique_ cost of migrating legacy code, it should be balanced with the _continual_ cost of keeping the feature. That includes: * People wondering what that strange syntax does, or, worse, mistaking it with a variation of string literal. * Difficulty to search occurrences of shell_exec. * People trying to deactivate functions executing external programs (such as shell_exec) using the "disable_function" ini directive, wondering how to deactivate the backtick operator (since there is no disable_operator directive). —Claude

« previous php.internals (#107409) next »