PHP 8.5 introduces new syntaxes for which it should be verified if the Tokenizer needs updates and/or whether any sniffs need updating.
Action list
Notes:
- Action items in italics are tentative. Investigation and testing is needed to determine whether any changes are needed and if so, which.
- For action items not in italics, I'm fairly certain those will be needed.
- This list is not set in stone and is subject to change once investigation for supporting a syntax starts.
Action list
Contribution Process
If anyone familiar with the PHP and PHPCS tokenizer wants to start work on any of these, please leave a comment in this ticket to claim an action item.
New custom PHPCS tokens may be needed. If that's the case, please open a separate issue with a detailed proposal on how to handle the syntax, what alternatives have been considered, what the consequences would be and why the proposed option should be accepted. Please open this issue before creating a PR.
If anyone needs it, here are some examples of earlier proposals for supporting PHP syntaxes from before PHP 8.5:
Timeline
For anyone coming to this ticket to see when syntax support for PHP 8.5 syntaxes is expected, please do NOT spam this ticket with repeated comments asking for a timeline.
It will be ready when it's ready and whatever is ready will be included in a release forthwith.
PHP 8.5 introduces new syntaxes for which it should be verified if the Tokenizer needs updates and/or whether any sniffs need updating.
Action list
Notes:
Action list
At first glance, this looks like this may be more involved than one might think, as
clone()with parentheses will now behave like a function call, which may mean that FQN use ofcloneis now supported, use as first class callable, named parameters and thatclonemay need to be regarded as a parentheses owner.getMethodParameters()- @jrfnlThis will also need significant tests with scope closer determination for arrow functions in combination with the pipe operator.
getMemberProperties()- @jrfnl PR PHP 8.5 | File::getMemberProperties(): add tests with asymmetric visibility for static properties #1295Updates needed to utility functionsContribution Process
If anyone familiar with the PHP and PHPCS tokenizer wants to start work on any of these, please leave a comment in this ticket to claim an action item.
New custom PHPCS tokens may be needed. If that's the case, please open a separate issue with a detailed proposal on how to handle the syntax, what alternatives have been considered, what the consequences would be and why the proposed option should be accepted. Please open this issue before creating a PR.
If anyone needs it, here are some examples of earlier proposals for supporting PHP syntaxes from before PHP 8.5:
yield fromtokenization #529 (comment)Timeline
For anyone coming to this ticket to see when syntax support for PHP 8.5 syntaxes is expected, please do NOT spam this ticket with repeated comments asking for a timeline.
It will be ready when it's ready and whatever is ready will be included in a release forthwith.