Implemented in PHP 7.1

RFC Categories

    Iterable

    Author
    Aaron Piotrowski
    Target
    7.1
    It is common for a function to accept or return either an array or an object implementing Traversable to be used with foreach. However, because array is a primi...

    Add iterable type to PHP 7.1

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

    RNG fixes and changes

    Author
    Target
    7.1
    There are several long standing issues with random number generation that should be addressed:

    Fix mt_rand() implementation

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

    Alias rand() to mt_rand()

    Yes
    No
    Yes
    21 Votes (84%)
    No
    4 Votes (16%)

    Fix RAND_RANGE()

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

    Replace insecure uses of php_rand() with php_random_bytes()

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

    Make array_rand() more efficient

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

    Forbid dynamic calls to scope introspection functions

    Author
    Target
    7.1
    Dynamic calls to functions like extract(), which either inspect or modify the parent scope or stack frame, have unclear behavior (with disagreements between PHP...

    Forbid dynamic calls to scope introspection functions?

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

    Add curl_multi_errno(), curl_share_errno() and curl_share_strerror()

    Author
    Target
    7.1
    The ext/curl extension define 3 different resource types :

    Should those functions should be added in 7.1

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

    Accept Closure from Callble? (50%+1 majority required)

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

    Fix overflow in octal parsing

    Author
    Target
    7.1
    Parsing of Octal (base 8) numbers contained in an interpolated string currently matches the pattern \\[0-7]{1,3}, that is a backslash followed by between one an...

    Raise warning on octal interpolation overflow?

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

    Square bracket syntax for array destructuring assignment

    Author
    Andrea Faulds
    Author
    Target
    7.1

    Accept the RFC Square bracket syntax for array destructuring assignment for PHP 7.1?

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

    IntlTimeZone::getWindowsID()

    Author
    Target
    7.1
    ICU adds new methods from time to time. Specifically, the methods TimeZone::getWindowsID and TimeZone::getIDForWindowsID were added with ICU4C 52.

    Approve get-windows-id RFC and merge oatch into master?

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

    Catching Multiple Exception Types

    Author
    Author
    Bronisław Białek
    Target
    7.1
    When two different types of exceptions are handled the same way, it is sometimes required to duplicate the code of the catch statements.

    Should milti-catch be added to PHP 7.1

    Yes
    No
    Yes
    40 Votes (87%)
    No
    6 Votes (13%)

    Generalize support of negative string offsets

    Author
    Target
    7.1
    In most PHP functions, providing a negative value as string offset means 'n positions counted backwards from the end of the string'. This mechanism is widely us...

    Generalize support of negative string offsets

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

    Allow specifying keys in list()

    Author
    Andrea Faulds
    Target
    7.1
    Unpacking array elements into variables is a common operation in certain types of PHP code. For example, it is common to use an array as an argument bag when in...

    Accept the Allow specifying keys in list() RFC for PHP 7.1, and merge the patch into master?

    Yes
    No
    Yes
    23 Votes (68%)
    No
    11 Votes (32%)

    Deprecate (then Remove) Mcrypt

    Author
    Scott Arciszewski
    Target
    7.1
    Let's get rid of ext/mcrypt, which is abandonware and inhibits the growth of the language, as soon as humanly possible.

    Deprecate then Remove Mcrypt from the PHP Core?

    Yes
    No
    Yes
    23 Votes (79%)
    No
    6 Votes (21%)

    Warn about invalid strings in arithmetic

    Author
    Andrea Faulds
    Target
    7.1
    PHP's arithmetic operators allow not only numbers, but also numeric strings to be used as operands. For example, not only 1 + 1 produces 2, but also '1' + '1'. ...

    Accept the ‘Warn about invalid strings in arithmetic’ v1.1 RFC for PHP 7.1?

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

    Deprecate mb_ereg_replace eval option

    Author
    Rouven Weßling
    Target
    7.1
    This RFC aims at deprecating the e option that mb_ereg_replace and mb_eregi_replace provide.

    Deprecate mb_ereg_replace eval option

    Yes
    No
    Yes
    19 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%)

    ext/curl HTTP/2 Server Push Support

    Author
    Target
    7.1
    With the introduction of HTTP/2 support in libcurl, PHP 7.0 now has some support for HTTP/2 requests, but it does not yet support one of the (potentially) most ...

    Add HTTP/2 Server Push Support to ext/curl

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

    Support Class Constant Visibility

    Author
    Sean DuBois
    Author
    Target
    7.1
    Classes in PHP allow modifiers on properties and methods, but not constants. It is an easily fixed inconsistency, and a feature that many want and most surprise...

    Class Constant Visibility

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

    More precise float value handling

    Author
    Yasuo Ohgaki
    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%)

    Void Return Type

    Author
    Andrea Faulds
    Target
    7.1
    The Return Types RFC has introduced return types to PHP. While there is already a means to specify that any value may be returned (by omitting the return type),...

    Accept the Void Return Type RFC for PHP 7.1 and merge patch into master?

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

    Nullable Types

    Author
    Dmitry Stogov
    Target
    7.1
    It is common in many programming languages including PHP to allow a variable to be of some type or null. This null often indicates an error or lack of something...

    Accept explicitly nullable types? (2/3 affirmative required)

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

    Merge which features? (majority wins)

    Both nullable parameter and return types
    Only nullable return types
    Both nullable parameter and return types
    44 Votes (98%)
    Only nullable return types
    1 Votes (2%)

    Add session_create_id() function

    Author
    Yasuo Ohgaki
    Target
    7.1
    Session ID is created by session internal bin_to_readable() function. bin_to_readable() creates readable string from binary data depending. New session_create_i...

    Add session_create_id() frunction

    Yes
    No
    Yes
    8 Votes (89%)
    No
    1 Votes (11%)

    Add session_gc()

    Author
    Yasuo Ohgaki
    Target
    7.1
    Current session GC depends on probability. Thus, low traffic sites would not delete expired session data and could be usable as valid session. Traffic varies da...

    Add session_gc() function

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