PHPCompatibility / PHPCompatibility/PHPCompatibility

Account for changes introduced in PHP 8.6

Open
#2,052 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

PHP: 8.6 Status: to be implemented Type: enhancement Type: meta
Dominant language
PHP
Stars
2.3k
Forks
201
Avg merge
3d 18h
Merged PRs (30d)
42

Description

This is just an issue to keep track of which of the implemented RFCs for PHP 8.6 have been addressed.

This list should be updated when additional RFCs are accepted/implemented.

To Do

Aside from the RFCs, there are also the changes which were made outside of the RFC process and are listed in:

Claimed

Additionally, an initial scan of the UPGRADING file for additional list-based updates to be made is ongoing and owned by @jrfnl.

Has PR

Reviewed and concluded non-sniffable

  • Deprecations for PHP 8.6
    Sublist:
    • Deprecate define() with $case_insensitive being specified - PR - commit
      Reviewed by @jrfnl and concluded there's nothing to do here for PHPCompatibility.
      "This appears to be a correction to the implementation of the removal of support for case-sensitive constants in PHP 8.0 as previously deprecated in PHP 7.3.
      In my opinion, this is an irrelevant implementation error on the side of PHP and the actual removal of support for case-sensitive constants is what PHPCompatibility should flag and already does via the RemovedFunctionParameters sniff."
      Relevant PHPCompatibility PRs: #706 and #1185
Rejected RFCs

Delayed to later PHP version

Nothing yet

Status yet to be determined

These are RFCs which have either not yet been implemented or are still in voting at this time.
Once their final status for PHP 8.6 is determined, they will either be moved to the "To Do" list or removed from this ticket.

Accepted, not yet (fully) implemented
In voting

All votes have been closed

Process

If anyone starts work on updating PHPCompatibility to handle any of these issues, please either update the above list (if you can) or leave a comment below, so one of the maintainers can update the list.

Once PHP 8.6 comes out, individual issues should be opened for the changes which remain at that point in time.

Guidelines
  • When in doubt how to address something and/or if your approach is the right one: ask.
    This also means that it is perfectly acceptable to open an dedicated issue to discuss a particular change in more detail.
  • PRs which address RFCs should only contain the changes for one RFC per PR. One RFC may warrant multiple PRs depending on the nature of the changes.
    Exception: when a RFC builds onto a previous RFC, combining the necessary changes into one PR addressing the cumulative changes to PHP is fine.
  • PRs not directly related to RFCs may address multiple changes in one go, as long as the changes are logically closely related (like adding a range of new constants to be detected).
  • Please include relevant change justification and links in each commit message.
    Typically this means that a commit message should include:
    • Text snippet from the PHP UPGRADING guide/changelog/migration guide or the RFC to back up the change being made.
    • A link to the RFC (if applicable).
    • A link to the exact UPGRADING guide/changelog/migration guide section which documents the change in PHP Core.
    • A link to the PR to PHP Core which proposed the change (if applicable).
    • A link to the commit which added the change to PHP Core.
  • Changes which were proposed/accepted for PHP, but have not been merged into PHP Core yet, should not be detected by PHPCompatibility (yet).
    The commit to PHP Core should always come first, PHPCompatibility follows.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the unchecked RFC entries and the PHP 8.6 UPGRADING, migration, NEWS, and changelog references listed in the issue. Check the linked RFC details and existing PR or owner notes before choosing one focused change; done means the relevant PHP 8.6 behavior is detected and the checklist can be updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.