-
-
Notifications
You must be signed in to change notification settings - Fork 131
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
Support PHP 8.3 typed class constants #2396
base: main
Are you sure you want to change the base?
Conversation
@mreiden The PR in the parser has landed in |
@@ -14,6 +14,7 @@ function parse(text, opts) { | |||
const parser = new engine({ | |||
parser: { | |||
extractDoc: true, | |||
version: opts.phpVersion, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This won't be needed once glayzzle/php-parser#1150 has landed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should use the php version a user sets (https://github.com/prettier/plugin-php#configuration) instead of using the php-parser default though? If I remember correctly, the user setting has no effect on the parser without this line.
The php-parser default now being 8.3 makes it unnecessary for most people, but if someone set it to 8.0 it would use unsupported syntax. Then again, only 8.2+ are currently supported by the php team, so maybe it's time to drop all the 5.x and 7.x versions and the default changed from "7.0" to "8.3"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the idea is that we always try to parse with the latest PHP version, and only use the prettier version setting to control our printing (i.e. don't print features that are unsupported in the configured version). Since glayzzle/php-parser#1150 is now landed, I don't really see a reason to change this. I'd be very open to update the default for our version setting to something more reasonable though! 👍
…d 7.x. This matches the default php version used in the php-parser project and removes options for very old eol versions. PHP 5.6 eol in January 2019 and 7.4 in November 2022.
@czosel this will need a new release of php-parser to include the fix to the original implementation. |
Done! Sorry about the delay. |
Depends on php-parser dependency support.
Kenneth-Sills/php-parser#1