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/11 18:12] 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.
- +
-This RFC aims at deprecating 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 ===== ===== 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.
 +
 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: In progress +  * 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 deleted. It 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.1481479944.txt.gz · Last modified: 2017/09/22 13:28 (external edit)