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 revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
rfc:deprecations_php_7_2 [2017/01/15 14:14] nikicrfc: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 by 127.0.0.1