Home » Community » People » cmb »
cmb

cmb

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

Author
cmb
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%)

Deprecations for PHP 8.3

Author
cmb
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%)

Unbundle ext/xmlrpc

Author
cmb
Target
8.0
ext/xmlrpc relies on on libxmlrpc-epi, which is abandoned. Even worse, we are bundling a modified 0.51, while the latest version is 0.54.1. This is exacerbated ...

Unbundle ext/xmlrpc

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

Unbundle ext/wddx

Author
cmb
Target
7.4
WDDX has been designed as programming language independent data exchange format for the web1). However, it never has been formally standardized, and it appears ...

Unbundle ext/wddx

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

Unbundle ext/wddx details

depr. 7.4/move 8.0(1)
depr. and move 7.4(2)
move 7.4(3)
dump 7.4(4)
depr. 7.4/move 8.0(1)
4 Votes (14%)
depr. and move 7.4(2)
19 Votes (68%)
move 7.4(3)
2 Votes (7%)
dump 7.4(4)
3 Votes (11%)

Unbundle ext/recode

Author
cmb
Target
7.4
ext/recode facilitates conversion between different character sets/encodings. This functionality is basically already supported by ext/iconv and ext/mbstring. ...

Unbundle ext/recode

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

Deprecate and Remove image2wbmp()

Author
cmb
Target
7.3
ext/gd has two functions to output WBMP 1) images: imagewbmp() and image2wbmp(). Both are supposed to handle the necessary monochrome conversion by different me...

Deprecate and Remove image2wbmp()

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

Deprecate png2wbmp() and jpeg2wbmp()

Author
cmb
Target
7.2
png2wbmp() and jpeg2wbmp() are the only direct image format conversion functions available in ext/gd which makes them rather special, particularly as libgd does...

Deprecate png2wbmp() and jpeg2wbmp()

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

Deprecate and remove INTL_IDNA_VARIANT_2003

Author
cmb
Target
7.2
As of ICU 55.1 (released 2015-04-01) the IDNA2003 APIs are deprecated, because UTS #46 should be preferred over the obsolete IDNA 2003 variant. However, the int...

Deprecate and remove INTL_IDNA_VARIANT_2003

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

Deprecate class instance deserialization in WDDX

Author
cmb
WDDX has been designed as programming language independent data exchange format for the web1). However, PHP 4.0.0 added the ability to (de)serialize class insta...

Kill proprietary CSV escaping mechanism

Author
cmb
For many years, we receive bug reports regarding the strange behavior of the $escape parameter of our CSV writing and reading functions (fputcsv, fgetcsv etc.);...