Disallow version_compare() $operator abbreviations #6510
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
version_compare()
does a sloppy check for the$operators
argumentwhich allows arbitrary abbreviations of the supported operators to be
accepted. This is both undocumented and unexpected, and could lead to
subtle BC breaks, if the order of the comparisions will be changed.
Therefore we change to strict comparisons.
Since this comparision behavior is there since PHP 4.3.0 or so, of course, this change would constitute a BC break. Thus I do not actually propose to merge this change, but like to bring that issue to more attention. Maybe we should leave it as is, but document the behavior; maybe we want to get rid of the
$operator
parameter altogether.PS: see also https://bugs.php.net/80503