rfc:binary_string_deprecation

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
rfc:binary_string_deprecation [2016/12/12 15:41] pmmagarfc:binary_string_deprecation [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== PHP RFC: Binary String Deprecation ====== ====== PHP RFC: Binary String Deprecation ======
-  * Version: 0.1+  * Version: 0.2
   * Date: 2016-12-11   * Date: 2016-12-11
-  * Author: Pedro Magalhães, mail@pmmaga.net +  * Author: Pedro Magalhães, mail at pmmaga dot net 
-  * Status: Draft+  * Status: Declined
   * First Published at: http://wiki.php.net/rfc/binary_string_deprecation   * First Published at: http://wiki.php.net/rfc/binary_string_deprecation
  
 ===== Introduction ===== ===== Introduction =====
-In version 5.2.1, the ''b'' prefix and the ''(binary)'' cast were [[http://php.net/manual/en/language.types.type-juggling.php|introduced for forward compatibility]] with the PHP-6 project. As it is known, that project never came to be. However, these are still accepted by the language scanner although ignored from then on.+In version 5.2.1, the ''b'' prefix and the ''(binary)'' cast were [[http://php.net/manual/en/language.types.type-juggling.php|introduced for forward compatibility]] with the PHP-6 project. However, that project never came to be and no one can tell if it will ever be the chosen approach in a possible future attempt to implement binary stringsYet, these are still accepted by the language scanner although ignored from then on.
  
 +===== Proposal =====
 This RFC aims to deprecate the prefix as it produces no effect on the string literal and the binary cast because it is the same as casting to string. This RFC aims to deprecate the prefix as it produces no effect on the string literal and the binary cast because it is the same as casting to string.
  
-===== Proposal ===== 
 The proposed implementation consists in throwing a ''E_DEPRECATED'' during compilation when the prefix or the cast are used. At a later major version of PHP, the support for these should be removed. The proposed implementation consists in throwing a ''E_DEPRECATED'' during compilation when the prefix or the cast are used. At a later major version of PHP, the support for these should be removed.
  
Line 33: Line 33:
 </code> </code>
  
-Furthermore, tests and test iterations that are aimed specifically at binary strings are also removed as they are aimed at functionality that doesn't exist.+Furthermore, tests and test iterations specifically intended for binary strings are also removed as they aim at functionality that doesn't exist.
  
-Finally, this RFC also includes a patch for the documentation to remove the mention of this cast in the [[http://php.net/manual/en/language.types.type-juggling.php|Type Juggling page]] and another for the language specification.+Finally, this RFC also includes a patch for the documentation to remove the reference to this cast in the [[http://php.net/manual/en/language.types.type-juggling.php|Type Juggling page]] and another for the language specification.
  
 ===== Backward Incompatible Changes ===== ===== Backward Incompatible Changes =====
Line 55: Line 55:
 ===== Proposed Voting Choices ===== ===== Proposed Voting Choices =====
 This RFC requires a 2/3 majority. This RFC requires a 2/3 majority.
 +
 +Voting starts on 2017-02-03 13:00 UTC and closes on 2017-02-20 20:00 UTC.
 +
 +<doodle title="Binary String Deprecation" auth="pmmaga" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ===== Patches and Tests ===== ===== Patches and Tests =====
 This RFC is implemented by the following patches: This RFC is implemented by the following patches:
-  * Implementation: [[https://github.com/php/php-src/compare/master...pmmaga:binary-string-deprecation]] +  * Implementation: [[https://github.com/php/php-src/pull/2322]] 
-  * Language Specification: [[https://github.com/php/php-langspec/compare/master...pmmaga:binary-string-deprecation]] +  * Language Specification: [[https://github.com/php/php-langspec/pull/188]] 
-  * Documentation: [[https://edit.php.net/?patch=en/language/types/type-juggling.xml&project=PHP]]+  * Documentation: //Patch was deletedIt removed the mention of the prefix from the type-juggling page.//
  
 ===== References ===== ===== References =====
 This deprecation is also proposed in [[rfc:deprecations_php_7_2|PHP RFC: Deprecations for PHP 7.2]]. The reason for a separate RFC is the impact on the PHAR extension. This deprecation is also proposed in [[rfc:deprecations_php_7_2|PHP RFC: Deprecations for PHP 7.2]]. The reason for a separate RFC is the impact on the PHAR extension.
  
rfc/binary_string_deprecation.1481557287.txt.gz · Last modified: 2017/09/22 13:28 (external edit)