Request for Comments

This page gives an overview of the current RFCs for PHP.

To create a new RFC, see How To Create an RFC.

Note: An RFC is effectively “owned” by the person that created it. If you want to make changes, get permission from the creator. If no agreement can be found, the only course of action is to create a competing RFC. In this case, the old RFC page should be modified to become an intermediate page that points to all the competing RFC's.

A new page in this RFC namespace will automatically be loaded with an RFC template. Customize as needed.

In voting phase

  • JIT
    Just in Time Compiler. (Created: 2019-01-28)

Under Discussion

This section is for RFCs that have been announced on the PHP “internals” mail list.

In Draft

This section is for early drafts of RFCs that have NOT been announced on the PHP “internals” mail list.


Process and Policy

Pending Implementation


Order in these sections: Language changes first, library changes later.

PHP 8.0

PHP 7.4

  • weakrefs
    (Created: 2018-05-17, Voting started: 2019-02-22)
  • FFI - Foreign Function Interface
    (Announced: 2018-12-06; Voting began: 2018-12-20; Accepted: 2019-01-09)
  • Typed Properties 2.0
    Add support for typed properties, including static properties and references to typed properties. (Created: 2018-06-15)
  • Null Coalesce Equal Operator
    Allow shorthand for self assigning null coalesce operator (Created 2016-03-09)
  • Preloading
    Preload PHP functions and classes once and use them in the context of any future request without overhead. (Created: 2018-10-18)
  • Always available hash extension
    Proposes to make the hash extension available to every build of PHP. (Created: 04/09-2018)
  • Password Hash Registry
    Make the mechanisms used by password_hash/verify/etc… extensible by other modules. (Created: 2018-10-15)
  • Improve openssl_random_pseudo_bytes()
    Proposes making openssl_random_pseudo_bytes() fail closed and deprecate the second parameter (Created: 2019-10-19)
  • mb_str_split() Split multibyte string
    (Announced: 2019-01-02; Voting began: 2019-01-10; Accepted: 2019-01-20; Implemented: 2019-02-12)
  • Reflection for references
    Introduces the ReflectionReference class to allow detecting references and determining reference equality. (Created: 2019-01-15; Voting began: 2019-01-30)
  • Unbundle ext/wddx
    (Announced: 2018-09-16; Voting began: 2019-01-17 Voting finished: 2019-01-31)
  • New custom object serialization mechanism
    Introduces new custom object serialization mechanism to replace Serializable. (Created: 2019-01-24, Voting start: 2019-03-01)

PHP 7.3

PHP 7.2

PHP 7.1

PHP 7.0

PHP 5.6

PHP 5.5

PHP 5.4

Note: Many RFCs in this list have been mass voted.

PHP 5.3




This section is for RFCs that had been in discussion, but did not have any activity or discussion about them recently. It can be because they have been deferred, obsoleted, or appear to have been abandoned, or because the authors need more work on them. Sorry if your RFC is added here and you feel it is still active; please move it back to the appropriate section.


rfc.txt · Last modified: 2019/03/23 23:52 by kalle