Skip to content

PHP 8.4 | PSR2/PropertyDeclaration: add support for abstract properties #1188

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

jrfnl
Copy link
Member

@jrfnl jrfnl commented Aug 12, 2025

⚠️ Depends on PR #1184 ⚠️


Description

Includes handling the modifier order when abstract is used. This introduces a new AbstractAfterVisibility error code.

Includes tests.

Note: the modifier keyword order checks could probably do with some optimization, but that can be handled later.

Suggested changelog entry

Added support for PHP 8.4 abstract properties to the following sniffs:

  • PSR2.Classes.PropertyDeclaration

  • The PSR2.Classes.PropertyDeclaration will now check that the abstract modifier keyword is placed before a visibility keyword.

    • Errors will be reported via a new AbstractAfterVisibility error code.

Related issues/external references

Related to #734

Includes handling the modifier order when `abstract` is used. This introduces a new `AbstractAfterVisibility` error code.

Includes tests.

Note: the modifier keyword order checks could probably do with some optimization, but that can be handled later.
@jrfnl jrfnl added this to the 3.13.3 milestone Aug 12, 2025
@jrfnl jrfnl mentioned this pull request Jul 16, 2025
43 tasks
Base automatically changed from php-8.4/file-getmemberproperties-support-abstract-properties to master August 15, 2025 15:51
@jrfnl jrfnl marked this pull request as ready for review August 15, 2025 17:07
@jrfnl jrfnl merged commit edf4757 into master Aug 15, 2025
80 of 82 checks passed
@jrfnl jrfnl deleted the php-8.4/psr2-propertydeclaration-support-abstract-properties branch August 15, 2025 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant