Home » Community » People » bukka »
bukka

bukka

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.

JSON Schema validation support

Author
The JSON extension does not offer any way to structurally validate the content except for basic syntax checking. Being able to validate the actual structure wou...

Policy release process update

Author
Target
policy
This is a policy RFC that tries to match the current policy with the process that we currently have and also clarify few details.

Update the release process as proposed?

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

Release cycle update

Author
Target
policy
The current release cycle has been introduced in 2010 by release process RFC. This has been working mostly well, but there have been some minor issues. The leng...

Allow features that do not require an RFC in the beta period

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

Disallow New Features in Release Candidates and Bug Fix releases

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

Reduce number of RCs to Four

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

Extend Security Support by One Year

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

Allowing recent regression fixes during security support

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

Extend Releases Cycle to End of Year

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

Stream Error Handling Improvements

Author
Target
8.6
PHP's stream error handling has historically been inconsistent across different stream wrappers and operations. Errors are reported through various mechanisms -...

Should the Stream Error Handling Improvements be added to PHP core?

Yes
No
Abstain
Yes
25 Votes (81%)
No
1 Votes (3%)
Abstain
5 Votes (16%)

Polling API

Author
Target
8.6

Should the Polling API be added to PHP core?

Yes
No
Abstain
Yes
33 Votes (87%)
No
1 Votes (3%)
Abstain
4 Votes (11%)

TLS Session Resumption Support for Streams

Author
Target
8.6
This RFC proposes adding comprehensive TLS session resumption support to PHP's OpenSSL stream implementation. Session resumption is a critical performance optim...

Add TLS session resumption support to streams as described in this RFC?

Yes
No
Abstain
Yes
19 Votes (86%)
No
0 Votes (0%)
Abstain
3 Votes (14%)

What should the exception class be named?

OpenSSLException (consistent with existing OpenSSL classes)
Openssl\OpensslException (namespaced per Throwable policy recommendation)
Abstain
OpenSSLException (consistent with existing OpenSSL classes)
5 Votes (25%)
Openssl\OpensslException (namespaced per Throwable policy recommendation)
15 Votes (75%)
Abstain
0 Votes (0%)

What should the session class be named?

OpenSSLSession (consistent with existing OpenSSL classes)
Openssl\Session (namespaced per latest naming conventions)
Abstain
OpenSSLSession (consistent with existing OpenSSL classes)
7 Votes (33%)
Openssl\Session (namespaced per latest naming conventions)
13 Votes (62%)
Abstain
1 Votes (5%)

Convert the deprecation to a documentation-based soft deprecation?

Yes
No
Abstain
Yes
26 Votes (84%)
No
5 Votes (16%)
Abstain
0 Votes (0%)

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

OpenSSL AEAD support

Author
Target
7.1
The PHP OpenSSL extension provides functions for data encryption (openssl_encrypt) and decryption (openssl_decrypt). These function works fine for all cipher al...

Include AEAD support to OpenSSL extension

Yes
No
Yes
7 Votes (64%)
No
4 Votes (36%)

More precise float value handling

Author
Target
7.1
This RFC is based on the discussion about displaying float values in json_encode and proposes more precise float value handling overall.

Should mode 0 be introduced and set as default for PG(serialize_precision)

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

Should PG(serialize_precision) be used instead of EG(precision) in json_encode

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

Replacing current json extension with jsond

Author
Target
7.0
The current Json Parser in the json extension does not have a free license which is a problem for many Linux distros. This has been referenced at Bug #63520. Th...

Should jsond based extension replace the current json extension in PHP 7?

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

PHP Technical Committee

Author
The Open Source project that develops the PHP language and its reference implementation uses an RFC process to discuss and vote on proposed changes. This was cr...

Introduce the PHP Technical Committee as defined in this RFC

Yes
No
Yes
10 Votes (32%)
No
21 Votes (68%)

JSON numeric as string

Author
JSON is a data format that is often used for data exchange between different platforms. These platforms can have different number representation which might lea...

Include JSON_FLOAT_TO_STRING for decoding?

Yes
No
Yes
1 Votes (17%)
No
5 Votes (83%)

Include JSON_FLOAT_TO_STRING for encoding?

Yes
No
Yes
1 Votes (17%)
No
5 Votes (83%)

Include JSON_INT_TO_STRING for decoding?

Yes
No
Yes
1 Votes (17%)
No
5 Votes (83%)

Include JSON_INT_TO_STRING for encoding?

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

PHP version used for the included constant

PHP 5.6
PHP 7.0
PHP 7.1
PHP 5.6
1 Votes (17%)
PHP 7.0
0 Votes (0%)
PHP 7.1
5 Votes (83%)

Internal Serialize API

Author
This RFC proposes a new API for internal object serialization and unserialization.