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.
This section is for RFCs that have been announced on the PHP “internals” mail list.
-
Nested Class Support
This
RFC proposes support for nested classes, following on from Anonymous Classes.
-
-
-
-
-
-
-
-
-
-
Enhanced Error Handling
This offers a concept and implementation to let the user (php coder) choose between php_error, exception et al while retaining backwards compatibility
-
Native TLS in ZTS
Improving performance of ZTS builds by using native thread local storage.
-
-
PHP Native Interface
Provide complete alternative to writing libraries interfaces using the Zend
API libraries.
-
-
-
-
-
-
-
Proposed modifications to traits
This
RFC proposes three modifications to traits: increasing separation and consistency of inheritance vs. trait composition, adding trait-local scope, and extending
use
syntax.
-
-
-
-
-
Introducing Jenkins
This
RFC proposes using Jenkins as a Continuous Ingtegration environment for the php project.
-
-
array_delete
This
RFC proposes adding array_delete() as an intuitive
API for array element deletion.
-
Escaping RFC for PHP Core
Implementing a core anti-XSS escaping class and possibly functions for the more procedurally inclined programmers.
-
-
-
This section is for early drafts of RFCs that have NOT been announced on the PHP “internals” mail list.
-
Siberia
This
RFC proposes to create a cemetery for dead extensions (PECL or core).
-
-
Static classes
This
RFC proposes the introduction of static classes for
PHP
PECL versioning
This
RFC, about tackling the versioning issues in PECL extensions, has been implemented across PECL for several months. But what should be done about extension versioning in the
PHP core?
-
-
Jsonable interface
Feature request to allow support json_(encode|decode) to handle Object instance conversions.
-
Get Random
This
RFC talks about how to get a (better) random string in
PHP
-
-
docBlock Parser
Proposal to add docBlock parsing to the Reflection extension
Autodefinition
This
RFC proposes the ability to define missing definitions (generalization of autoload).
-
-
Weak References
This
RFC proposes the introduction of Weak References in
PHP via a new SPL class.
-
-
-
-
-
-
-
-
-
APXS LoadModule
This
RFC proposes the addition of an option to the configure script that allows the user to specify whether the main Apache .conf file should be appended with the LoadModule entry.
-
-
-
Magic Quotes
This
RFC proposes how we deal with magic quotes from
PHP 5.3.0 to 6.0.0.
-
-
Order in these sections: Language changes first, library changes later.
Generators
This
RFC proposes adding generators as a simple and boilerplate-free way of defining iterators.
-
-
-
-
-
-
-
-
-
Add UConverter
A proposal to add ICU::UConverter functionality to ext/intl
-
-
-
-
-
-
Add array_column() function
This
RFC proposes a new array function that returns the values of the specified column from a multi-dimensional array.
Removal of curl-wrappers
This
RFC is about removing the curl stream wrappers of the
PHP as of 5.5 and to move it on PECL for any eventual improvements.
Strict Sessions
This
RFC proposes an additional security measure for preventing session fixation.
Note: Many RFCs in this list have been mass voted.
Traits
Traits is a mechanism for code reuse in single inheritance languages such as
PHP. A Trait is intended to reduce some limitations of single inheritance by enabling a developer to reuse sets of methods freely in several independent classes living in different class hierarchies. This
RFC proposes a basic version of Traits.
-
-
-
Short tags in templates
This
RFC discusses ways to enable short tags template syntax in a way that would be easy for users and compatible with
XML users' requirements.
-
-
Built-in web server
This
RFC discusses the web server that is built into
PHP itself, for development purpose.
-
-
-
-
-
-
-
-
Run Time Cache
offers an implementation of run-time caching technique which may improve performance of repeatable code
Zend Signal Handling
Improve stability and speed when running under any forking SAPI by adding deferred signal handling to the Zend Engine.
-
-
-
Closures
This
RFC proposes Closures and lambda functions for
PHP.
-
-
HEREDOC with double quotes
This
RFC is about allowing double quote syntax similar to single-quotes in NOWDOC as a HEREDOC syntax variant (in
PHP 5.3)
-
-
-
Rounding in PHP
Make round() produce predictable results on all platforms and fix some problems in the process.
-
FPM SAPI
This
RFC discusses FPM SAPI and its inclusion to the core
PHP distribution.
FPM INI syntax
This RDV discusses the replacement of FPM configuration file from
XML to INI.
New INI Files
A proposal for two new INI files which will replace the current INI's packaged with
PHP. One focused on production deployments and the other focused on development deployments.
-
Class instances counter
This
RFC proposes a new function returning a list with class names and their instance counter.
-
-
SplClassLoader
Merge implementation of first proposal of
PHP Standards Recommendation (PSR) into SPL core
Annotations
Class Metadata feature (aka Annotations) support in
PHP
ifsetor() Operator
This
RFC proposes an operator that efficiently implements (isset($foo) ? $foo : $bar) as ifsetor($foo, $bar)
-
Non-breakable Traits
This
RFC is a extension to the basic proposal. It includes the notion of trait-local methods and properties.
Function getEntropy
Feature request for a new userspace function providing a truly random value.
-
-
-
-
Function Autoloading
This
RFC proposes to refactor the existing autoloading mechanism to support function and constant autoloading.
-
-
-
-
-
-
Comparable
A proposal to add a Comparable interface for userspace object comparisons.
-
-
-
-
This section is for RFCs that have been deferred, obsoleted, or appear to have been abandoned. Sorry if your RFC is added here and you feel it is still active; please move it back to the appropriate section.