PHP 8.4 | ✨ New PHPCompatibility.Classes.NewAbstractProperties sniff#1901
Merged
PHP 8.4 | ✨ New PHPCompatibility.Classes.NewAbstractProperties sniff#1901
PHPCompatibility.Classes.NewAbstractProperties sniff#1901Conversation
58 tasks
As of PHP 8.4, (hooked) properties can be declared as `abstract`. Notes: * The "abstract" modifier is not supported in constructor property promotion as that wouldn't make sense. * The "abstract" modifier is also not supported for interface properties as those are implicitly abstract (but that's not the concern of this sniff). This commit adds a new sniff to detect abstract properties as supported in PHP 8.4. For this sniff to function correctly, the PHPCSUtils minimum version needs to be v 1.1.2, which includes support for abstract properties via the `Variables::getMemberProperties()` method. Includes tests. Includes documentation. Refs: * https://wiki.php.net/rfc/property-hooks#abstract_properties * php/php-src 13455 * php/php-src@780a828
7536cc3 to
a9f38a8
Compare
wimg
approved these changes
Sep 8, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
As of PHP 8.4, (hooked) properties can be declared as
abstract.Notes:
This commit adds a new sniff to detect abstract properties as supported in PHP 8.4.
For this sniff to function correctly, the PHPCSUtils minimum version needs to be v 1.1.2, which includes support for abstract properties via the
Variables::getMemberProperties()method.Includes tests.
Includes documentation.
Refs: