orklah / psalm-elvis-begone
Replace Elvis operator (?:) by null coalesce operator (??) when applicable
Installs: 9 433
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 2
Forks: 0
Open Issues: 1
Type:psalm-plugin
Requires
- php: ^7.3|^8.0
- vimeo/psalm: ^4.10.0
This package is auto-updated.
Last update: 2024-11-15 02:24:02 UTC
README
A Psalm plugin to replace Elvis operator (?:) by null coalesce operator (??) when applicable
Installation:
$ composer require --dev orklah/psalm-elvis-begone $ vendor/bin/psalm-plugin enable orklah/psalm-elvis-begone
Usage:
Run Psalter command:
$ vendor/bin/psalm --alter --plugin=vendor/orklah/psalm-elvis-begone/src/Plugin.php
Explanation:
The short ternary operator (or Elvis operator ?: ) is used to evaluate return its condition if it's true or the second operand if it's not.
When the type is known and the only falsy value is null, we can actually replace it with the null coalesce operator (??) for strictness and clarity.
It will prevent future values to be evaluated to false when it was not the intention