rfc:deprecations_php_8_5
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:deprecations_php_8_5 [2024/11/21 09:38] – Formatting timwolla | rfc:deprecations_php_8_5 [2025/03/30 17:46] (current) – Add finfo_buffer() $context param girgias | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Authors: | * Authors: | ||
* Gina Peter Banyard < | * Gina Peter Banyard < | ||
- | | + | * Christoph M. Becker < |
+ | | ||
* Implementation: | * Implementation: | ||
Line 14: | Line 15: | ||
* Deprecate '' | * Deprecate '' | ||
* Deprecate PDO's ' | * Deprecate PDO's ' | ||
+ | * Deprecate PDO:: | ||
+ | * Deprecate intl.error_level INI setting | ||
* Deprecate Reflection*:: | * Deprecate Reflection*:: | ||
* Deprecate FILTER_DEFAULT constant | * Deprecate FILTER_DEFAULT constant | ||
* Make '' | * Make '' | ||
* Deprecate FILTER_CALLBACK filter | * Deprecate FILTER_CALLBACK filter | ||
- | * Deprecate < | + | * Deprecate < |
* Deprecate the '' | * Deprecate the '' | ||
* Deprecate the '' | * Deprecate the '' | ||
Line 25: | Line 28: | ||
* Formally deprecate mysqli_execute | * Formally deprecate mysqli_execute | ||
* Deprecate < | * Deprecate < | ||
+ | * Deprecate semicolon after '' | ||
+ | * Deprecate the < | ||
+ | * Deprecate building ext/ldap against Oracle LDAP | ||
+ | * Deprecate passing '' | ||
+ | * Deprecate the < | ||
===== Proposal ===== | ===== Proposal ===== | ||
Line 42: | Line 50: | ||
TODO: https:// | TODO: https:// | ||
+ | |||
+ | ==== Deprecate PDO:: | ||
+ | |||
+ | Author: Gina Peter Banyard < | ||
+ | |||
+ | TODO: Warnings are a weird mixture of exceptions, and setting the error code. | ||
+ | |||
+ | ==== Deprecate intl.error_level INI setting ==== | ||
+ | |||
+ | Author: Gina Peter Banyard < | ||
+ | |||
+ | TODO: Similar to PDO:: | ||
==== Deprecate Reflection*:: | ==== Deprecate Reflection*:: | ||
Line 80: | Line 100: | ||
- | ==== Deprecate filter_input() | + | ==== Deprecate filter_input(), filter_input_array(), and filter_has_var() ==== |
Author: Gina Peter Banyard < | Author: Gina Peter Banyard < | ||
Line 131: | Line 151: | ||
and < | and < | ||
we propose to deprecate < | we propose to deprecate < | ||
+ | |||
+ | As < | ||
+ | but has the same caveat as the two previous functions, we propose to also deprecate this function. | ||
==== Deprecate the docref_root and docref_ext INI directives ==== | ==== Deprecate the docref_root and docref_ext INI directives ==== | ||
Line 185: | Line 208: | ||
TODO: https:// | TODO: https:// | ||
+ | |||
+ | ==== Deprecate semicolon after case in switch statement ==== | ||
+ | |||
+ | Author: Theodore Brown < | ||
+ | |||
+ | It is possible to terminate '' | ||
+ | |||
+ | <PHP> | ||
+ | switch ($value) { | ||
+ | case ' | ||
+ | case ' | ||
+ | case ' | ||
+ | echo 'foo, bar, or baz'; | ||
+ | break; | ||
+ | default; | ||
+ | echo ' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | This syntax is a leftover from PHP/FI 2, where nearly all lines including if conditions and case statements were terminated by a semicolon. [[https:// | ||
+ | |||
+ | There isn't a need for this syntax to exist anymore, and very few PHP developers are even aware of its existence. In the top 1000 Composer packages, zero out of 35,777 total case statements are using the alternate syntax (as of 2024-11-27). | ||
+ | |||
+ | Case statements followed by a semicolon can cause confusion, as a developer may think they behave differently in some way from regular case statements (e.g. preventing fallthrough), | ||
+ | |||
+ | Therefore, we propose to deprecate terminating case statements with a semicolon. | ||
+ | |||
+ | |||
+ | ==== Deprecate the $exclude_disabled parameter of get_defined_functions() ==== | ||
+ | |||
+ | Author: Gina Peter Banyard < | ||
+ | |||
+ | As of PHP 8.0.0, functions that are disabled via the '' | ||
+ | As such, this parameter has no longer any effect and is pointless. | ||
+ | Therefore, we propose to deprecate it. | ||
+ | |||
+ | ==== Deprecate building ext/ldap against Oracle LDAP ==== | ||
+ | |||
+ | Author: Christoph M. Becker < | ||
+ | |||
+ | Building ext/ldap against Oracle LDAP had been supported, and is theoretically still supported, but is apparently [[https:// | ||
+ | |||
+ | Therefore we supposed to deprecate building ext/ldap against Oracle LDAP. | ||
+ | |||
+ | It should be noted that the ``ldap_connect_wallet()`` function, [[https:// | ||
+ | |||
+ | ==== Deprecate passing null to readdir(), rewinddir(), | ||
+ | |||
+ | Author: Gina Peter Banyard < | ||
+ | |||
+ | TODO: This assumes the last open directory stream opened with < | ||
+ | we have deprecated such usages previous (see mysql and pgsql). | ||
+ | |||
+ | |||
+ | ==== Deprecate the $context parameter for finfo_buffer() | ||
+ | |||
+ | Author: Gina Peter Banyard < | ||
+ | |||
+ | This parameter is unused, and the only reason it exists in the first place is because the implementation of it was delegated to a " | ||
+ | |||
+ | As this parameter is not useful for this function it should be deprecated. | ||
===== Backward Incompatible Changes ===== | ===== Backward Incompatible Changes ===== |
rfc/deprecations_php_8_5.1732181890.txt.gz · Last modified: 2024/11/21 09:38 by timwolla