rfc:friend-classes

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:friend-classes [2017/09/22 00:18] mdwheelerfc:friend-classes [2018/07/14 12:52] (current) – vote end mdwheele
Line 1: Line 1:
 ====== PHP RFC: Class Friendship ====== ====== PHP RFC: Class Friendship ======
   * Version: 1.0.0   * Version: 1.0.0
-  * Date: 2017-9-21+  * Date: 2017-09-21
   * Author: Dustin Wheeler, mdwheele@ncsu.edu   * Author: Dustin Wheeler, mdwheele@ncsu.edu
-  * Status: Under Discussion+  * Status: Declined
   * First Published at: http://wiki.php.net/rfc/friend-classes   * First Published at: http://wiki.php.net/rfc/friend-classes
  
Line 300: Line 300:
  
 ===== Proposed PHP Version(s) ===== ===== Proposed PHP Version(s) =====
-This proposal targets the next minor version of PHP 7, which at the time of this writing is PHP 7.3.+I had intended to target the next minor version of PHP with this change. Since 7.3 is closing in on feature freeze and whether or not 7.4 will happen before 8.0 is currently under discussion, this RFC's target depends on outcome of discussion. If there is to be a PHP 7.4, it will go there. Otherwise, it will wait until PHP 8.
  
 ===== RFC Impact ===== ===== RFC Impact =====
 ==== To Opcache ==== ==== To Opcache ====
 This is an open issue pending code review. I am unfamiliar-enough with Opcache implementation to be able to appropriately assess impact. This is an open issue pending code review. I am unfamiliar-enough with Opcache implementation to be able to appropriately assess impact.
- 
-==== To Reflection API ==== 
-New methods are added to ''ReflectionClass'': 
- 
-  - ''public array ReflectionClass::getFriendNames(void)'' - Returns an array of friend names on current class. Returns ''NULL'' in case of error. 
-  - ''public array ReflectionClass::getFriends(void)'' - Returns associative array of friend names in keys and instances of friend's ''ReflectionClass'' in values. Returns ''NULL'' in case of error. 
- 
-===== Open Issues ===== 
-==== Policy ==== 
-  * Implementation requires code review to advise on improvements as well as inform that Opcache was appropriately considered 
-  * Verify current PHP functionality around class property visibility is undisturbed 
- 
-==== Reflection API ==== 
-  * Implement new methods on ''ReflectionClass'' 
  
 ===== Future Scope ===== ===== Future Scope =====
Line 329: Line 315:
 ===== Proposed Voting Choices ===== ===== Proposed Voting Choices =====
  
-As this is a language change, a 2/3 majority is required. (see [[voting]])+As this RFC adds syntax to the language, a 2/3 majority is required. (see [[voting]]) 
 + 
 +Voting starts on 2018-07-06 21:00 UTC and closes on 2018-07-13 21:00 UTC.  
 + 
 +<doodle title="Support Class Friendship?" auth="mdwheele" voteType="single" closed="true"> 
 +   * Yes 
 +   * No 
 +</doodle>
  
 ===== Patches and Tests ===== ===== Patches and Tests =====
-I have implemented the RFC as described with tests to verify all usage examples above. I will link this as soon as I am able and will open a pull request against ''master'' to monitor TravisCI build status as I make changes.+I have implemented the RFC as described with tests to verify all usage examples above.  
 + 
 +https://github.com/php/php-src/pull/3347
  
 As this is my first contribution to PHP, it is my opinion that my request should be placed under higher scrutiny and I am completely ready and willing to accept all feedback to improve implementation. As this is my first contribution to PHP, it is my opinion that my request should be placed under higher scrutiny and I am completely ready and willing to accept all feedback to improve implementation.
rfc/friend-classes.1506039525.txt.gz · Last modified: 2017/09/22 13:28 (external edit)