rfc:deprecations_php_7_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
rfc:deprecations_php_7_2 [2017/01/15 14:14]
nikic
rfc:deprecations_php_7_2 [2017/08/12 18:36]
nikic
Line 2: Line 2:
   * Date: 2015-12-28   * Date: 2015-12-28
   * Author: Nikita Popov <nikic@php.net>   * Author: Nikita Popov <nikic@php.net>
-  * Status: Under Discussion +  * Status: Implemented (in PHP 7.2) 
-  * Discussion: http://markmail.org/message/axruwwohcjwxsjem+  * Discussion: http://markmail.org/message/gto22ob4scfbk7ql
   * Originally published under: https://wiki.php.net/rfc/deprecations_php_7_1   * Originally published under: https://wiki.php.net/rfc/deprecations_php_7_1
  
Line 24: Line 24:
  
 ===== Proposal ===== ===== Proposal =====
 +
 +Each feature proposed for deprecation is voted separately. Each vote requires a 2/3 majority, independently of whether it is a language or standard library change. All votes refer to deprecation in PHP 7.2 and removal in the next major version (presumably PHP 8.0).
  
 ==== __autoload ==== ==== __autoload ====
Line 30: Line 32:
  
 Proposed action: A deprecation notice is thrown when a global function with name ''%%__autoload()%%'' is encountered during compilation. Proposed action: A deprecation notice is thrown when a global function with name ''%%__autoload()%%'' is encountered during compilation.
 +
 +<doodle title="Deprecate and subsequently remove __autoload" auth="nikic" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ==== $php_errormsg ==== ==== $php_errormsg ====
Line 38: Line 45:
  
 Proposed action: A deprecation notice is thrown if the ''track_errors'' ini setting is enabled. Proposed action: A deprecation notice is thrown if the ''track_errors'' ini setting is enabled.
 +
 +<doodle title="Deprecate and subsequently remove $php_errormsg" auth="nikic" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ==== create_function() ==== ==== create_function() ====
Line 46: Line 58:
  
 Proposed action: Mark the function as deprecated, thus issuing a deprecation notice on every call. Proposed action: Mark the function as deprecated, thus issuing a deprecation notice on every call.
 +
 +<doodle title="Deprecate and subsequently remove create_function()" auth="nikic" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ==== mbstring.func_overload ==== ==== mbstring.func_overload ====
Line 58: Line 75:
  
 Tracking bug: [[https://bugs.php.net/bug.php?id=65785|#65785]] Tracking bug: [[https://bugs.php.net/bug.php?id=65785|#65785]]
 +
 +<doodle title="Deprecate and subsequently remove mbstring.func_overload" auth="nikic" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ==== (unset) cast ==== ==== (unset) cast ====
Line 64: Line 86:
  
 Proposed action: Throw a deprecation notice if an ''(unset)'' cast is encountered by the compiler. No deprecation notice is thrown from the lexer or parser themselves (so that ''token_get_all'' continues working as is). Proposed action: Throw a deprecation notice if an ''(unset)'' cast is encountered by the compiler. No deprecation notice is thrown from the lexer or parser themselves (so that ''token_get_all'' continues working as is).
 +
 +<doodle title="Deprecate and subsequently remove (unset) cast" auth="nikic" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ==== parse_str() without second argument ==== ==== parse_str() without second argument ====
Line 72: Line 99:
  
 Proposed action: Throw a deprecation notice if the second argument of ''parse_str()'' is not used. Proposed action: Throw a deprecation notice if the second argument of ''parse_str()'' is not used.
 +
 +<doodle title="Deprecate and subsequently remove parse_str() without second argument" auth="nikic" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ==== gmp_random() ==== ==== gmp_random() ====
Line 80: Line 112:
  
 Proposed action: Mark the function as deprecated, thus issuing a deprecation notice on every call. Proposed action: Mark the function as deprecated, thus issuing a deprecation notice on every call.
 +
 +<doodle title="Deprecate and subsequently remove gmp_random()" auth="nikic" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ==== each() ==== ==== each() ====
Line 95: Line 132:
  
 Proposed action: As ''each'' is typically called within loops, throwing a deprecation warning for every call is likely not advisable. Instead, throw a deprecation warning on the first call for any given request. Proposed action: As ''each'' is typically called within loops, throwing a deprecation warning for every call is likely not advisable. Instead, throw a deprecation warning on the first call for any given request.
 +
 +<doodle title="Deprecate and subsequently remove each()" auth="nikic" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ==== assert() with string argument ==== ==== assert() with string argument ====
Line 105: Line 147:
  
 Proposed action: Throw a deprecation notice if ''assert()'' is used with a string argument. The deprecation notice is only thrown if assertions are enabled (both zend.assertions and assert.active must be enabled). Proposed action: Throw a deprecation notice if ''assert()'' is used with a string argument. The deprecation notice is only thrown if assertions are enabled (both zend.assertions and assert.active must be enabled).
 +
 +<doodle title="Deprecate and subsequently remove assert() with string argument" auth="nikic" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ==== $errcontext argument of error handler ==== ==== $errcontext argument of error handler ====
Line 115: Line 162:
  
 Proposed action: Throw deprecation notice if error handler has five or more arguments. Otherwise, do not pass the ''$errcontext''. This prevents circumvention with ''func_get_args()''. Proposed action: Throw deprecation notice if error handler has five or more arguments. Otherwise, do not pass the ''$errcontext''. This prevents circumvention with ''func_get_args()''.
 +
 +**Update:** Due to technical issues, this does not throw a deprecation warning. It is a documentation-only deprecation.
 +
 +<doodle title="Deprecate and subsequently remove $errcontext argument of error handler" auth="nikic" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ==== (binary) cast and b"" literals ==== ==== (binary) cast and b"" literals ====
rfc/deprecations_php_7_2.txt · Last modified: 2017/09/22 13:28 (external edit)