Hello everyone, Before Winter holiday, I began a discussion on the mailing list regarding the topic of class friendship in order to gauge interest towards authoring and implementing an RFC for the feature. This discussion happened at: https://marc.info/?l=php-internals&m=144954699701305&w=2 I have drafted an RFC that describes a proposal to add this feature to the language. I feel like this draft is at a point where it is reasonable to invite additional perspective and begin the discussion process. While the RFC does capture advice I received in the original discussion, it does not capture as much of the justification / reasoning behind the feature as I felt that the RFC should present the facts of the proposal. Because of this, I urge you to read through the original discussion before reviewing this RFC. It is also included as the top reference for the RFC. If we feel this information is relevant to the RFC document itself, I would gladly amend. https://wiki.php.net/rfc/friend-classes I will be submitting a pull request against `master` soon so that progress and changes to implementation may be tracked for the duration of RFC discussion. There are a few details I need to iron out in the implementation that surfaced as part of initial discussions. This is my first contribution to PHP and it is more ambitious that I am normally comfortable with when making contributions to open-source software. That said, I fully recognize and respect the expertise of developers on this mailing list and welcome scrutiny as far as technical implementation. I am 100% ready and willing to accept all feedback to improve implementation where necessary. Finally, as mentioned in the original discussion: When I began this work, I found that (for a beginner) the barrier-to-entry in contributing a new feature to PHP is fairly substantial. While there were several good references for implementing a feature such as this, much of it was out-of-date; considering the changes made internally for PHP 7. I would like to contribute notes I took while working through this project that begin to detail common differences in how someone might accomplish a feature like what's represented by this RFC for PHP 7. This feature was unique in that it has a fairly simple and light-weight cross-cutting implementation that seems like a decent example for a newcomer. Is there a good place for me to send this information for review? Is another RFC a good medium for review or would a separate post to the mailing list suffice? Thanks again for your time and I look forward to upcoming discussions! -Dustin -- Dustin Wheeler | Software Developer NC State University m: mdwheele@ncsu.edu | w: 5-9786 "If you don't know where you're going, it's easy to iteratively not get there."



