===== Request for Comments ===== This page gives an overview of the current RFC for PHP. Note: An RFC page is effectively "owned" by the person that created it. If you want to add changes, get permission by 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 will 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 a template for an RFC. Customize as needed. ===== Active ===== * [[rfc: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. * [[rfc:NonBreakableTraits|Non-breakable traits]]\\ This RFC is a extension to the basic proposal. It includes the notion of trait-local methods and properties. * [[rfc:typehint|Parameter and Return value type hints]]\\ This RFC proposes to complete the actual parameter type hints and an implementation for return value type hints. * [[rfc:shortags|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. * [[rfc:calltimebyref|call_time_pass_by_reference]]\\ This RFC proposes that call_time_pass_by_reference be switched off by default in PHP 5.3. * [[rfc:closures|Closures]]\\ This RFC proposes Closures and lambda functions for PHP. * [[rfc:array_count_handlers|Array vs. count_elements handler]]\\ Internal change to allow some optimization and add consistency. ===== In the works ===== * [[rfc:PHPVCS|PHP Version Control System]]\\ This RFC discusses the switch from CVS to some other version tracking system * [[rfc:pdov1|PDO Version 1 Improvements]]\\ This RFC proposes a set of improvements to be made to PDO. * [[rfc:extensionsiberia|Siberia]]\\ This RFC proposes to create a cemetery for dead extensions (PECL or core). * [[rfc:taint|Tainted variables]]\\ This RFC proposes an implementation of variable tainting in PHP. * [[rfc:lemon|Lemon as a language parser]]\\ This RFC discusses the switch from YACC/Bison to lemon for the main language parser * [[rfc:static-classes|Static classes]]\\ This RFC proposes the introduction of static classes for PHP * [[rfc:peclversioning|PECL versioning]]\\ This RFC is about tackling the versioning issues currently in PECL. It includes some shocking figures - and a plan, of course. * [[rfc:protectedlookup|Improve consistency of protected member lookups]]\\ This RFC proposes to eliminate an inconsistency in the way protected class members are resolved. * [[rfc:functionarraydereferencing|Function array dereferencing]]\\ You know, like foo()['bar'] ===== Accepted ===== * [[rfc:magicquotes|Magic Quotes]]\\ This RFC proposes how we deal with magic quotes from PHP 5.3.0 to 6.0.0. ===== Implemented ===== * [[rfc:heredoc-with-double-quotes|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) ===== Declined ===== * [[rfc:shortsyntaxforarrays|Short syntax for arrays]]\\ This RFC will discuss an language enhancement for simple and easy array definition. * [[rfc:ifsetor|ifsetor() Operator]]\\ This RFC proposes an operator that efficiently implements (isset($foo) ? $foo : $bar) as ifsetor($foo, $bar) * [[http://marc.info/?l=php-internals&m=121397217528280&w=2|Method overloading]]