Den 2019-07-25 kl. 14:32, skrev Nikita Popov:
On Wed, Dec 6, 2017 at 8:49 PM Nikita Popov <nikita....@gmail.com> wrote:

Hi internals,

I'd like propose optional support for explicitly marking by-reference
argument passing at the call-site, in addition to the declaration-site:

     https://wiki.php.net/rfc/explicit_send_by_ref

In short, while currently we have

     function byRef(&$ref) {...}
     byRef($var);

this proposal would also allow

     function byRef(&$ref) {...}
     byRef(&$var);

so that the use of by-reference passing is obvious without having to
consult the function declaration.

Regards,
Nikita

I've rebased and finished the implementation for this and would like to
move forward with this RFC.

I think it can either go forward as-is, in that it constitutes the first
step towards bringing sanity to by-reference passing in the long term. Or I
could first try to push through
https://wiki.php.net/rfc/namespace_scoped_declares or some variant thereof
so that call-site reference passing annotations can be made required on a
per-library/project basis.

As most of the feedback here has been on whether this is really worthwhile
if it's only optional, I guess the second option would be preferred?

Nikita

Hi,

I like this proposal since it gives the programmer one more tool to improve
readability and thereby quality of code.

It will also contribute to make PHP faster. So the argument that one shouldn't encourage usage of references by introducing this, will then hinder potential
performance improvements.

The decision about how to make Namespace scoped declares can come later,
still the ongoing discussion is valuable.

r//Björn L

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to