girgias

girgias

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.

Deprecations for PHP 8.6

Author
The RFC proposes to deprecate the listed functionality in PHP 8.6 and remove it in PHP 9 (except where otherwise noted).

Deprecate the list() construct?

Yes
No
Abstain
Yes
23 Votes (49%)
No
23 Votes (49%)
Abstain
1 Votes (2%)

Deprecate returning from a finally block?

Yes
No
Abstain
Yes
39 Votes (85%)
No
3 Votes (7%)
Abstain
4 Votes (9%)

Deprecate using let as an identifier?

Yes
No
Abstain
Yes
24 Votes (55%)
No
11 Votes (25%)
Abstain
9 Votes (20%)

Deprecate using namespace as a class constant name?

Yes
No
Abstain
Yes
29 Votes (66%)
No
8 Votes (18%)
Abstain
7 Votes (16%)

Deprecate using in, out, and inout as identifiers?

Yes
No
Abstain
Yes
8 Votes (18%)
No
21 Votes (48%)
Abstain
15 Votes (34%)

Deprecate using is as an identifier?

Yes
No
Abstain
Yes
29 Votes (64%)
No
10 Votes (22%)
Abstain
6 Votes (13%)

Deprecate the possibility to name a function readonly?

Yes
No
Abstain
Yes
39 Votes (93%)
No
1 Votes (2%)
Abstain
2 Votes (5%)

Deprecate using _ as a constant and compile time alias?

Yes
No
Abstain
Yes
34 Votes (79%)
No
4 Votes (9%)
Abstain
5 Votes (12%)

Deprecate using _ as a function name and the _() function alias for gettext()?

Yes
No
Abstain
Yes
10 Votes (23%)
No
22 Votes (51%)
Abstain
11 Votes (26%)

Passing objects for $array parameter of array_walk() and array_walk_recursive()?

Yes
No
Abstain
Yes
41 Votes (93%)
No
3 Votes (7%)
Abstain
0 Votes (0%)

Passing objects for $options parameter of deflate_init() and inflate_init()?

Yes
No
Abstain
Yes
39 Votes (89%)
No
4 Votes (9%)
Abstain
1 Votes (2%)

Passing objects as parameters to the zlib.inflate and zlib.deflate stream filters?

Yes
No
Abstain
Yes
38 Votes (86%)
No
4 Votes (9%)
Abstain
2 Votes (5%)

Passing objects as parameters to the bzip2.decompress and bzip2.compress stream filters?

Yes
No
Abstain
Yes
38 Votes (86%)
No
4 Votes (9%)
Abstain
2 Votes (5%)

Passing objects for $vars parameter of mb_convert_variables()?

Yes
No
Abstain
Yes
39 Votes (91%)
No
2 Votes (5%)
Abstain
2 Votes (5%)

Passing objects for $data parameter of http_build_query()?

Yes
No
Abstain
Yes
21 Votes (48%)
No
10 Votes (23%)
Abstain
13 Votes (30%)

Deprecate is_double()?

Yes
No
Abstain
Yes
40 Votes (91%)
No
2 Votes (5%)
Abstain
2 Votes (5%)

Deprecate is_integer()?

Yes
No
Abstain
Yes
39 Votes (89%)
No
2 Votes (5%)
Abstain
3 Votes (7%)

Deprecate is_long()?

Yes
No
Abstain
Yes
39 Votes (89%)
No
2 Votes (5%)
Abstain
3 Votes (7%)

Deprecate doubleval()?

Yes
No
Abstain
Yes
38 Votes (86%)
No
2 Votes (5%)
Abstain
4 Votes (9%)

Deprecate define() with $case_insensitive being specified?

Yes
No
Abstain
Yes
41 Votes (93%)
No
0 Votes (0%)
Abstain
3 Votes (7%)

Deprecate is_subclass_of with string when $allow_string is false?

Yes
No
Abstain
Yes
37 Votes (84%)
No
0 Votes (0%)
Abstain
7 Votes (16%)

Deprecate is_a with string when $allow_string is false?

Yes
No
Abstain
Yes
38 Votes (86%)
No
0 Votes (0%)
Abstain
6 Votes (14%)

Deprecate strcoll()?

Yes
No
Abstain
Yes
39 Votes (87%)
No
2 Votes (4%)
Abstain
4 Votes (9%)

Deprecate SORT_LOCALE_STRING flag for sort() functions?

Yes
No
Abstain
Yes
38 Votes (88%)
No
2 Votes (5%)
Abstain
3 Votes (7%)

Deprecate Metaphone Function?

Yes
No
Abstain
Yes
20 Votes (45%)
No
8 Votes (18%)
Abstain
16 Votes (36%)

Deprecate dechunk filter?

Yes
No
Abstain
Yes
18 Votes (40%)
No
15 Votes (33%)
Abstain
12 Votes (27%)

Deprecate ReflectionProperty::setValue() and ReflectionProperty::setRawValue() with wrong types?

Yes
No
Abstain
Yes
43 Votes (93%)
No
1 Votes (2%)
Abstain
2 Votes (4%)

Deprecate ReflectionMethod::invoke() and ReflectionMethod::invokeArgs() with objects for static methods?

Yes
No
Abstain
Yes
39 Votes (91%)
No
3 Votes (7%)
Abstain
1 Votes (2%)

Deprecate ArrayIterator methods that inherit ArrayObject implementation?

Yes
No
Abstain
Yes
42 Votes (98%)
No
1 Votes (2%)
Abstain
0 Votes (0%)

Deprecate spl_classes()?

Yes
No
Abstain
Yes
43 Votes (100%)
No
0 Votes (0%)
Abstain
0 Votes (0%)

Deprecate spl_object_hash()?

Yes
No
Abstain
Yes
26 Votes (57%)
No
9 Votes (20%)
Abstain
11 Votes (24%)

Deprecate SplFileObject CSV methods?

Yes
No
Abstain
Yes
25 Votes (56%)
No
5 Votes (11%)
Abstain
15 Votes (33%)

Deprecate mysqli::stmt_init, mysqli_stmt_init, and mysqli_stmt::__construct without the second argument?

Yes
No
Abstain
Yes
40 Votes (93%)
No
0 Votes (0%)
Abstain
3 Votes (7%)

Deprecate mysqli_get_charset()?

Yes
No
Abstain
Yes
43 Votes (100%)
No
0 Votes (0%)
Abstain
0 Votes (0%)

Deprecate passing a $sessionhandler object to session_set_save_handler() which does not contain the create_sid() and validateId() methods?

Yes
No
Abstain
Yes
26 Votes (62%)
No
2 Votes (5%)
Abstain
14 Votes (33%)

Transform void into an alias for null

Author
Target
8.5
The void type was introduced in PHP 7.1 with the Void return type RFC. The motivation for introducing this type was to specify that no value should be returned ...

Warn on conversions from resource to string

Author
Target
8.5
PHP has a history of performing various forms of type conversions. While most dubious cases of such conversions nowadays throw a TypeError, or at least emit an ...

Improve language coherence for the behaviour of offsets and containers

Author
Target
8.5
PHP supports accessing sub-elements of a type via an offset using brackets [] with the following notation $container[$offset]. However, the behaviour of such ac...

PHP Policy RFC: Exempt input type and value validation from BC Break policy

Author
Target
policy
PHP's release cycle does not only affect the release of the core language, but also all extensions that are bundled. Bundled extensions are all the extensions t...

Accept php/policies PR #27?

Yes
No
Abstain
Yes
26 Votes (76%)
No
5 Votes (15%)
Abstain
3 Votes (9%)

Throwable Hierarchy Policy for Extensions

Author
Target
policy
PHP has a number of de facto rules and policies around the use of exceptions in extensions, for example not to use SPL exceptions in new code, but no official d...

Accept php/policies PR #17 (Add Throwable policy) at commit cf4cfb3ea95e3a59a56a395e1fae00ff9722e0cd?

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

Deprecations for PHP 8.4

Author
The RFC proposes to deprecate the listed functionality in PHP 8.4 and remove it in PHP 9 (except where otherwise noted).

Formally deprecate and remove the aforementioned DOMDocument and DOMEntity properties?

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

Remove DOMImplementation::getFeature($feature, $version)

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

Deprecate DOM_PHP_ERR constant?

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

Deprecate unserialize()’s ‘S’ tag?

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

Deprecate the INI settings ‘session.sid_length’ and ‘session.sid_bits_per_character’?

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

Deprecate SplFixedArray::__wakeup()?

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

Deprecate xml_set_object() and xml_set_*_handler() with string method names

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

Deprecate passing null and false to dba_key_split()

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

Deprecate passing incorrect data types for options to ext/hash functions

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

Deprecate constants SUNFUNCS_RET_STRING, SUNFUNCS_RET_DOUBLE, and SUNFUNCS_RET_TIMESTAMP?

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

Deprecate passing a non-empty string to the $escape parameter

Yes
No
Yes
26 Votes (93%)
No
2 Votes (7%)

Remove the E_STRICT Error Level and Deprecate the E_STRICT constant?

Yes
No
Yes
29 Votes (85%)
No
5 Votes (15%)

Deprecate strtok()?

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

Deprecate returning non-string values from a user output buffer handler?

Yes
No
Yes
23 Votes (85%)
No
4 Votes (15%)

Deprecate producing output in a user output handler?

Yes
No
Yes
25 Votes (93%)
No
2 Votes (7%)

Deprecate using an array as the $data argument for file_put_contents()

Yes
No
Yes
20 Votes (57%)
No
15 Votes (43%)

Deprecate mysqli_ping() and mysqli::ping()?

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

Deprecate mysqli_refresh(), mysqli::refresh() and related constants?

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

Deprecate mysqli_kill() and mysqli::kill()?

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

Deprecate the second parameter to mysqli_store_result()?

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

Deprecate lcg_value()?

Yes
No
Yes
29 Votes (94%)
No
2 Votes (6%)

Deprecate uniqid()?

Yes
No
Yes
14 Votes (38%)
No
23 Votes (62%)

Deprecate md5(), sha1(), md5_file(), and sha1_file()?

Yes
No
Yes
18 Votes (46%)
No
21 Votes (54%)

Deprecate passing E_USER_ERROR to trigger_error()

Yes
No
Yes
27 Votes (93%)
No
2 Votes (7%)

Deprecate using a single underscore as a class name?

Yes
No
Yes
28 Votes (80%)
No
7 Votes (20%)

Deprecate SOAP_FUNCTIONS_ALL constant and passing it to SoapServer::addFunction()?

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

Path to Saner Increment/Decrement operators

Author
Target
8.3
PHP's increment and decrement operators can have some surprising behaviours when used with types other than int and float. Various previous attempts 1) 2) 3) ha...

Accept Path to Saner Increment/Decrement operators RFC?

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

Deprecate implicitly nullable parameter types

Author
Target
8.4
PHP supports nullable type declarations as of PHP 7.1 with the ?T syntax, and with the T|null syntax as of PHP 8.0 when generalized support for union types was ...

Accept Deprecate implicitly nullable parameter types RFC?

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

Warnings for PHP 8.5

Author
Target
8.5
The RFC proposes to add a few warnings when encountering certain edge cases in PHP 8.5, and promote those to error in PHP 9.

Warn when coercing NAN to other types?

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

Warn when casting out of range floats to int?

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

Warn when destructuring non-array values?

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

Warn when using offsets on non-container values in isset()/empty()?

Yes
No
Yes
10 Votes (63%)
No
6 Votes (38%)

Warn when using invalid offset types when checking string offsets with isset()/empty()?

Yes
No
Yes
10 Votes (63%)
No
6 Votes (38%)

Deprecations for PHP 8.5

Author
Target
8.5
The RFC proposes to deprecate the listed functionality in PHP 8.5 and remove it in PHP 9 (except where otherwise noted).

Deprecate semicolon-terminated case statements?

Yes
No
Yes
22 Votes (69%)
No
10 Votes (31%)

Deprecate non-standard cast names?

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

Deprecate attributes applying to multiple class properties/constants

Yes
No
Yes
5 Votes (21%)
No
19 Votes (79%)

Deprecate backticks as an alias for shell_exec?

Yes
No
Yes
21 Votes (72%)
No
8 Votes (28%)

Deprecate the __sleep() and __wakeup() magic methods?

Yes
No
Yes
18 Votes (67%)
No
9 Votes (33%)

Deprecate using values null as an array offset and when calling array_key_exists()?

Yes
No
Yes
25 Votes (89%)
No
3 Votes (11%)

Deprecate __debugInfo() returning null?

Yes
No
Yes
22 Votes (81%)
No
5 Votes (19%)

Deprecate constant redeclaration?

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

Deprecate closure binding issues?

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

Enact follow-up phase of the Path to Saner Increment/Decrement operators RFC?

Yes
No
Yes
23 Votes (85%)
No
4 Votes (15%)

Deprecate the report_memleaks INI directive?

Yes
No
Yes
23 Votes (92%)
No
2 Votes (8%)

Deprecate the register_argc_argv INI directive and make in default to Off in PHP 8.5, then hardcode it to Off for all non-CLI-related SAPIs on PHP 9 (while keeping it hardcoded to On for CLI-related ones)?

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

Remove disable_classes INI setting?

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

Deprecate Reflection*::setAccessible()?

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

Deprecate ReflectionParameter::allowsNull()?

Yes
No
Yes
9 Votes (47%)
No
10 Votes (53%)

Deprecate ReflectionClass::getConstant() for missing constants?

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

Deprecate ReflectionProperty::getDefaultValue() for properties without default values?

Yes
No
Yes
22 Votes (92%)
No
2 Votes (8%)

Deprecate ArrayObject and ArrayIterator with objects?

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

Deprecate SplObjectStorage::contains(), SplObjectStorage::attach(), and SplObjectStorage::detach()?

Yes
No
Yes
17 Votes (89%)
No
2 Votes (11%)

Deprecate passing spl_autoload_call() to spl_autoload_unregister()?

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

Deprecate non-canonical type names for settype()?

Yes
No
Yes
8 Votes (44%)
No
10 Votes (56%)

Deprecate the $exclude_disabled parameter of get_defined_functions()?

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

Deprecate passing null to readdir(), rewinddir(), and closedir()?

Yes
No
Yes
24 Votes (89%)
No
3 Votes (11%)

Deprecate passing string which are not one byte long to ord()?

Yes
No
Yes
20 Votes (83%)
No
4 Votes (17%)

Deprecate passing integers outside the interval [0, 255] to chr()?

Yes
No
Yes
21 Votes (95%)
No
1 Votes (5%)

Formally deprecate socket_set_timeout?

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

Deprecate the $http_response_header predefined variable?

Yes
No
Yes
22 Votes (92%)
No
2 Votes (8%)

Deprecate FILTER_DEFAULT constant?

Yes
No
Yes
12 Votes (55%)
No
10 Votes (45%)

Emit a deprecation notice when using the default value for the $filter argument of the filter_*() functions?

Yes
No
Yes
9 Votes (47%)
No
10 Votes (53%)

Deprecate special build system support for drivers without a driver manager?

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

Deprecate ODBCVER checks?

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

Deprecate PDO’s uri: scheme?

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

Deprecate PDO::ERRMODE_WARNING constant?

Yes
No
Yes
8 Votes (40%)
No
12 Votes (60%)

Deprecate driver specific PDO constants and methods?

Yes
No
Yes
17 Votes (74%)
No
6 Votes (26%)

Deprecate statement transaction state specific PDO constants?

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

Deprecate finfo_close()?

Yes
No
Yes
24 Votes (92%)
No
2 Votes (8%)

Deprecate xml_parser_free()?

Yes
No
Yes
22 Votes (92%)
No
2 Votes (8%)

Deprecate curl_close()?

Yes
No
Yes
23 Votes (88%)
No
3 Votes (12%)

Deprecate curl_share_close()?

Yes
No
Yes
23 Votes (88%)
No
3 Votes (12%)

Deprecate imagedestroy()?

Yes
No
Yes
23 Votes (92%)
No
2 Votes (8%)

Deprecate key_length parameter of openssl_pkey_derive()?

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

Deprecate intl.error_level INI setting?

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

Formally deprecate mysqli_execute?

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

Deprecate building ext/ldap against Oracle LDAP?

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

Deprecate the $context parameter for finfo_buffer()?

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

Deprecate DATE_RFC7231 and DateTimeInterface::RFC7231?

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

Change Directory class to behave like a resource object

Author
Target
8.5
The Directory class is probably the first instance of what we now call a resource object (and in its stricter sense an opaque object). Resource/Opaque objects a...

Accept Change Directory class to behave like a resource object RFC?

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

Transform exit() from a language construct into a standard function

Author
Target
8.4
The exit language construct (and its alias die) can be used on its own without parentheses 1) to terminate a PHP script with status code 0, or it can be used l...

Accept Transform exit() from a language construct into a standard function RFC?

Yes
No
Yes
24 Votes (67%)
No
12 Votes (33%)

Add http_(get|clear)_last_response_headers() function

Author
Target
8.4
The $http_response_header variable is magically created in the local scope whenever an HTTP request is performed through PHP's stream layer, i.e. when using the...

Accept Add http_(get|clear)_last_response_headers() function RFC?

Yes
No
Yes
15 Votes (94%)
No
1 Votes (6%)

Make the GMP class final

Author
Target
8.4
The GMP class was introduced as part of the Internal operator overloading and GMP improvements RFC.

Accept Make the GMP class final RFC?

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

Deprecations for PHP 8.3

Author
Target
8.3
The RFC proposes to deprecate the listed functionality in PHP 8.3 and remove it in PHP 9.

Deprecate passing negative $widths to mb_strimwidth()

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

Deprecate and remove the NumberFormatter::TYPE_CURRENCY constant

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

Deprecate and remove the CRYPT_* constants?

Yes
No
Yes
14 Votes (58%)
No
10 Votes (42%)

Deprecate and remove the broken pre-PHP 7.1 Mt19937 implementation (MT_RAND_PHP)?

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

Deprecate the global Mt19937?

Yes
No
Yes
13 Votes (45%)
No
16 Votes (55%)

What to do with the non-integer functions using the global Mt19937 if the previous vote passes?

Deprecate together with mt_srand()
Convert to CSPRNG
Deprecate together with mt_srand()
1 Votes (4%)
Convert to CSPRNG
24 Votes (96%)

Deprecate and remove calling ldap_connect with 2 parameters $host and $port

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

Deprecate remains of string evaluated code assertions

Author
Target
8.3
Prior to PHP 7 assertions via the assert function could only operate on boolean values or with strings, in which case the string was evaluated and the result of...

Accept Deprecate remains of string evaluated code assertions RFC?

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

Saner array_(sum|product)()

Author
Target
8.3
PHP's standard library implements the array_sum() and array_product() which take an array of entries and adds/multiplies them together. These functions are high...

Accept Saner array_(sum|product)() RFC?

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

Define proper semantics for range() function

Author
Target
8.3
PHP's standard library implements the range() function, which generates an array of values going from a $start value to an $end value. By default values are gen...

Accept Saner range() semantics RFC?

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

Disjunctive Normal Form Types

Author
Target
8.2
Disjunctive Normal Form (DNF) is a standard way of organizing boolean expressions. Specifically, it means structuring a boolean expression into an ORed series ...

Accept Disjunctive Normal Form Types RFC?

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

Add true type

Author
Target
8.2
PHP now has support for null and false as standalone types. However, true which is the natural counter part of false does not even exist as a type.

Accept Add true type RFC?

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

Allow null and false as stand-alone types

Author
Target
8.2
null corresponds to PHP's unit type, i.e. the type which holds a single value. false is a literal type of type bool.

Accept Allow null and false as stand-alone types RFC?

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

Pure intersection types

Author
Target
8.1
An intersection type requires a value to satisfy multiple type constraints instead of a single one.

Add pure intersection types to PHP

Yes
No
Yes
30 Votes (91%)
No
3 Votes (9%)

Deprecate implicit non-integer-compatible float to int conversions

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, float to int...

Accept Deprecate implicit non-integer-compatible float to int conversions RFC proposal

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

Explicit octal integer literal notation

Author
Target
8.1
PHP's literal octal notation can lead to some confusing results such as 16 === 016 evaluating to false. This is because 016 is evaluated as an octal integer and...

Add support for explicit octal notation

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

Deprecations for PHP 8.1

Author
Target
8.1
The RFC proposes to deprecate the listed functionality in PHP 8.1 and remove it in PHP 9.

Deprecate date_sunrise() and date_sunset()?

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

Deprecate key(), current(), next(), prev(), reset() on objects?

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

Deprecate mb_check_encoding() without argument?

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

Deprecate get_class(), get_parent_class() and get_called_class() without argument?

Yes
No
Yes
21 Votes (50%)
No
21 Votes (50%)

Deprecate FILE_BINARY and FILE_TEXT constants?

Yes
No
Yes
42 Votes (98%)
No
1 Votes (2%)

Deprecate t fopen mode?

Yes
No
Yes
13 Votes (43%)
No
17 Votes (57%)

Deprecate passing bool for $value argument of IntlCalendar::roll()?

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

Deprecate accessing static members on traits?

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

Deprecate strptime()?

Yes
No
Yes
35 Votes (92%)
No
3 Votes (8%)

Deprecate strftime() and gmstrftime()?

Yes
No
Yes
29 Votes (76%)
No
9 Votes (24%)

Deprecate mhash*() family of functions?

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

Deprecate int parameters to ctype_*() functions?

Yes
No
Yes
34 Votes (94%)
No
2 Votes (6%)

Deprecate return by reference with void type?

Yes
No
Yes
39 Votes (98%)
No
1 Votes (3%)

Deprecate NIL constant defined by the IMAP extension?

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

Deprecate calling overloaded pgsql functions without the connection argument?

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

Deprecate $num_points parameter of image(open|filled)polygon?

Yes
No
Yes
20 Votes (69%)
No
9 Votes (31%)

Deprecate mysqli::init()?

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

Deprecate filter.default ini setting?

Yes
No
Yes
28 Votes (88%)
No
4 Votes (13%)

Deprecate auto_detect_line_endings ini setting?

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

Deprecate ssl_method option to SoapClient constructor?

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

Deprecate FILTER_SANITIZE_STRING?

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

Deprecate oci8.old_oci_close_semantics INI setting?

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

Deprecate odbc_result_all()?

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

Saner numeric strings

Author
Target
8.0

Accept Saner numeric string RFC proposal

Yes
No
Yes
30 Votes (88%)
No
4 Votes (12%)

Should valid float strings for string offsets remain a warning

Yes
No
Yes
2 Votes (7%)
No
27 Votes (93%)

Locale-independent float to string cast

Author
Target
8.0
The string representation of floats in PHP depends on the current locale as the decimal separator varies between locales. This can lead to subtle bugs in certai...

Make float to string casts always locale-independent?

Yes
No
Yes
42 Votes (98%)
No
1 Votes (2%)

Should the debug_locale_sensitive_float_casts INI setting be added?

Yes
No
Yes
14 Votes (35%)
No
26 Votes (65%)

Deprecate type juggling to and from bool type within the function type juggling context

Author
Target
8.5
PHP has a few type juggling contexts, which are described on the Type Juggling documentation page. Currently, there are 6:

Accept Deprecate type juggling to and from bool type within the function type juggling context RFC?

Yes
No
Yes
10 Votes (48%)
No
11 Votes (52%)

Rename T_PAAMAYIM_NEKUDOTAYIM to T_DOUBLE_COLON

Author
The T_PAAMAYIM_NEKUDOTAYIM token representing the :: characters sequence is often a source of confusion the first time it is encountered.

Rename T_PAAMAYIM_NEKUDOTAYIM to T_DOUBLE_COLON?

Yes
No
Yes
44 Votes (59%)
No
30 Votes (41%)

PHP Namespace in core

Author
The PHP project has reserved the right to use the \PHP namespace but has never acted upon starting to use it. We therefore propose that core symbols which canno...

Accept PHP namespace in core RFC?

Yes
No
Yes
19 Votes (44%)
No
24 Votes (56%)

Deprecate short open tags, again

Author
Target
7.4
In addition to

Deprecate and remove short open tags as proposed?

Yes
No
Yes
30 Votes (56%)
No
24 Votes (44%)

Change behaviour of array sort functions to return a copy of the sorted array

Author
Target
8.5
The PHP array sort functions take the array to sort as a by-reference array to sort the array in place. However, since PHP 5.6 these function have only ever ret...

Implement strrstr counterpart to strstr for consistency

Author
Implement strrstr (and possibly strristr) for consistency with the strpos string functions family.

Remove disable_classes INI setting

Author
Target
8.4
The disable_classes INI setting is fundamentally useless and causes various issues in the engine, as using it will result in unexpected states for the engine to...

Unbundle unmaintained extensions in PHP 8

Author
Target
8.0
The RFC proposes to unbundle or assign the PHP Project as a maintainer for the listed extension in PHP 8 following the Cleaning up unmaintained extensions RFC.

New core autoloading mechanism with support for function autoloading

Author
Target
8.3
PHP has had support for class autoloading since PHP 5 and it is an extremely useful feature that is relied on to only load classes that are being used within th...

Add file_descriptor() function

Author
Target
8.3
When dealing with I/O in PHP, one deals with streams as an abstraction over the file system. This abstraction is convenient in giving a uniform interface withou...

Add SameSite cookie attribute parameter

Author
Target
8.3
The support for the SameSite cookie attribute has been added in PHP 7.3. However, it can only be set by passing an array of options with the samesite key define...

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...

Allow null as standalone type

Author
Target
8.2
null corresponds to PHP's unit type, i.e. the type which holds a single value.

Deprecate PHP Short open tags

Author
Target
7.4
PHP has provided over the years different ways to indicate the beginning of PHP code other than the standard open tags. Most of these opening tags have been re...

Deprecate PHP short open tags in PHP 7.4?

Yes
No
Yes
38 Votes (68%)
No
18 Votes (32%)

Remove PHP short open tags in PHP 8.0?

Yes
No
Yes
42 Votes (74%)
No
15 Votes (26%)