Home » Community » People » ilutov »
ilutov

ilutov

Contributor Directory

RFCs

Language and policy proposals from this contributor
RFCs are part of the process by which decisions are made about PHP. For more information about the RFC process as well as viewing a full list of RFCs please visit the RFC section.

Pattern Matching

Author
This RFC introduces pattern matching syntax for PHP. Pattern Matching as a language concept contains two parts: Matching a variable against a potentially compl...

Deprecate ${} string interpolation in PHP 8.2 and remove them in PHP 9.0?

Yes
No
Yes
31 Votes (97%)
No
1 Votes (3%)

isReadable/Writable reflection methods

Author
Target
8.6
The ReflectionProperty::isPublic() method, by design, indicates only if a property has a public flag set on it, nothing more. Prior to PHP 8.1, that implicitly...

Implement isReadable/isWritable?

Yes
No
Abstain
Yes
27 Votes (90%)
No
0 Votes (0%)
Abstain
3 Votes (10%)

Closure optimizations

Author
Target
8.6
This RFC proposes two new optimizations for closures (including arrow functions) that come with some theoretical BC breaks. The purpose of this RFC is to evalua...

Add closure optimizations to PHP 8.6?

Yes
No
Abstain
Yes
24 Votes (96%)
No
0 Votes (0%)
Abstain
1 Votes (4%)

Make OPcache a non-optional part of PHP

Author
Target
8.5
Since OPcaches integration into the Open Source PHP project with PHP 5.5, OPcache has become an essential part of PHP, running PHP in production without OPcache...

Make OPcache a non-optional part of PHP?

yes
no
yes
30 Votes (100%)
no
0 Votes (0%)

Asymmetric Visibility for Static Properties

Author
Target
8.5
The Asymmetric Visibility RFC for PHP 8.4 deliberately omitted support for asymmetric visibility on static properties. That was due primarily to the expected i...

Approve asymmetric visibility for static properties?

Yes
No
Yes
15 Votes (83%)
No
3 Votes (17%)

Asymmetric Visibility v2

Author
Target
8.4
PHP has long had the ability to control the visibility of object properties -- public, private, or protected. However, that control is always the same for both...

Implement asymmetric visibility?

Yes
No
Yes
24 Votes (77%)
No
7 Votes (23%)

Property hook improvements

Author
Target
8.4
While finalizing the implementation of the property hooks RFC patch, we have found a small area for improvement. This is nominally changes from the behavior de...

Remove the extra hook recursion guard?

Yes
No
Yes
33 Votes (100%)
No
0 Votes (0%)

Property hooks

Author
Target
8.4
Developers often use methods to wrap and guard access to object properties. There are several highly common patterns for such logic, which in practice may be ve...

Implement property hooks as described?

Yes
No
Yes
42 Votes (95%)
No
2 Votes (5%)

Introduce request_parse_body() in PHP 8.4?

Yes
No
Yes
23 Votes (96%)
No
1 Votes (4%)

Allow arbitrary static variable initializers in PHP 8.3?

Yes
No
Yes
25 Votes (100%)
No
0 Votes (0%)

Add dynamic class constant fetches to PHP 8.3?

Yes
No
Yes
15 Votes (79%)
No
4 Votes (21%)

Fetch properties of enums in const expressions

Author
Target
8.2
This RFC proposes to allow the use of ->/?-> to fetch properties of enums in constant expressions. The primary motivation for this change is to allow fetching t...

Add support for fetching properties of enums in constant expressions?

Yes
No
Yes
24 Votes (69%)
No
11 Votes (31%)

Enumerations

Author
Target
8.1
This RFC introduces Enumerations to PHP. The scope of this RFC is limited to unit enumerations, that is, enumerations that are themselves a value, rather than ...

Include Enumerations in PHP

Yes
No
Yes
44 Votes (86%)
No
7 Votes (14%)

Nullsafe operator

Author
Target
8.0
This RFC proposes the new nullsafe operator ?-> with full short circuiting.

Add nullsafe operator to the language?

Yes
No
Yes
56 Votes (97%)
No
2 Votes (3%)

Match expression v2

Author
Target
8.0

Add match expressions to the language?

Yes
No
Yes
43 Votes (96%)
No
2 Votes (4%)

throw expression

Author
Target
8.0
Since in PHP throw is a statement it makes it impossible to throw exceptions in places where only expressions are allowed, like arrow functions, the coalesce op...

Would you like to convert the throw statement into an expression?

Yes
No
Yes
46 Votes (94%)
No
3 Votes (6%)

Asymmetric Visibility

Author
PHP has long had the ability to control the visibility of object properties -- public, private, or protected. However, that control is always the same for both...

Include asymmetric visibility?

Yes
No
Yes
14 Votes (54%)
No
12 Votes (46%)

If voting no, why?

Dislike feature itself
Syntax details
Other (specify below)
Dislike feature itself
6 Votes (50%)
Syntax details
4 Votes (33%)
Other (specify below)
2 Votes (17%)

Match expression

Author
Target
8.0

Would you like to add match expressions to the language?

Yes
No
Yes
6 Votes (18%)
No
28 Votes (82%)

Should the semicolon for match in statement form be optional?

Yes
No
Yes
3 Votes (13%)
No
20 Votes (87%)

Should we allow dropping (true) condition?

Yes
No
Yes
16 Votes (80%)
No
4 Votes (20%)

If you voted no, why?

1
2
3
4
5
6
7
8
1
0 Votes (0%)
2
10 Votes (43%)
3
0 Votes (0%)
4
1 Votes (4%)
5
0 Votes (0%)
6
3 Votes (13%)
7
0 Votes (0%)
8
9 Votes (39%)

Access Scope from Magic Accessors

Author
When using magic methods to access actual properties, respecting their declared visibility is often desired. Yet, accessing the calling scope to emulate the vis...

Auto-implement Stringable for string backed enums

Author
The engine currently doesn't allow enums to implement Stringable. This RFC proposes that string-backed enums auto-implement Stringable, while still disallowing ...

Algebraic Data Types

Author
This is an over-arching description of a multi-step process to add Algebraic Data Types to PHP. That effort is happening over multiple implementation RFCs in o...

Tagged Unions

Author
This RFC expands on the previous Enumerations RFC to allow values to be associated with an enum Case, creating what is typically called a tagged union.

List\unique() and Assoc\unique()

Author
The array_unique() function allows getting all unique values of a given array. Unfortunately, PHP has multiple definitions of equality and thus uniqueness. The ...

Deprecate boolean to string coercion

Author
Target
8.1
PHP is a dynamically typed language and as such implicit type coercion naturally arises, most of these are harmless and rather convenient. However, the conversi...