Hi Derick,
I don't think we should get rid of it, or add a notice/message/whatever.
Because this:
http://pastebin.com/d6e055957
could not be done without call time pass by ref right now. So unless
that's fixed, we shouldn't deprecate it.
Hm. Actually those 'expected values' are wrong because 12 is itself an array
and so isn't seen as an array element. But I take your point.
On the other hand, call_time_pass_reference already *is* deprecated and has
been for the last 8 years, so maybe fixing PHP to allow it where it makes
sense might be a good way to go?
Johannes mentioned call_user_func() on irc too:
<?php
function increment(&$var) {
$var++;
}
$a = 0;
call_user_func('increment', $a);
echo $a;
Warning: Parameter 1 to increment() expected to be a reference, value given
in...
0
$b = 0;
call_user_func('increment', &$b);
echo $b;
Deprecated: Call-time pass-by-reference has been deprecated; If you would
like to pass it by reference, modify the declaration of call_user_func().
If you would like to enable call-time pass-by-reference, you can set
allow_call_time_pass_reference to true in your INI file in...
1
The manual advises that you use call_user_func_array() instead - which
doesn't throw a warning - and virtually all the user notes recommend
variable functions as both faster and safer than call_user_func(). So why
isn't _that_ deprecated if call_time_pass_reference is?
- Steph
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php