[wp-hackers] passing references to do_action/apply_filters
Nikolay Bachiyski
nbachiyski at developer.bg
Thu Aug 4 12:25:28 GMT 2005
Robert Deaton wrote:
> A quick note, allow_call_time_pass_reference is "1" by default. While
> it doesn't stop the warning, at least we know the code still works on
> default installs for now.
In my case (latest mod_php5 package from ports in FreeBSD) the default
value is "Off".
I checked the latest php packages and in both php4.4.0 and php5.1.0b3
the value of "allow_call_time_pass_reference" is "On" in php.ini-dist,
but is "Off" in php.ini-recommended!
IMHO not just a few administrators prefer to stick to the recommended
setup, rather to the default one...
Nikolay.
>
> On 8/4/05, Nikolay Bachiyski <nbachiyski at developer.bg> wrote:
>
>>In newer default php.ini setups the value of
>>
>>allow_call_time_pass_reference (see http://uk2.php.net/ini.core)
>>
>>is Off, which does not allow to pass arguments by reference unless it is
>>explicitly noted in the function's declaration.
>>
>>However, sometimes is is needed a hook to change the values of its
>>arguments. For example see the patch for pre_ping hook
>>(http://trac.wordpress.org/ticket/1489 and
>>http://trac.wordpress.org/changeset/2743 ) and if
>>allow_call_time_pass_reference is Off it causes a Warning: "Warning:
>>Call-time pass-by-reference has been deprecated.." (see
>>http://trac.wordpress.org/ticket/1547).
>>
>>Unfortunately there isn't an easy way to control whether
>>do_action/apply_filter arguments are passed by reference of by value.
>>
>>Of course there are some dirty hacks, as for example using an array to
>>pass all the variables:
>>
>><?php
>>function varargs_by_ref($arg_list = null) {
>> if (is_array($arg_list)) {
>> foreach ($arg_list as &$arg) {
>> # do whatever you want with $arg...
>> }
>> }
>>}
>>
>>$by_ref = 'to_be_midified_inside_func';
>>$by_val = 'to_be_passed_by_value';
>>
>>varargs_by_ref(array('baba', &$by_ref, $by_value));
>>
>>?>
>>
>>Any other suggestions?
>>
>>Nikolay.
>>
>>_______________________________________________
>>wp-hackers mailing list
>>wp-hackers at lists.automattic.com
>>http://lists.automattic.com/mailman/listinfo/wp-hackers
>>
>
>
>
More information about the wp-hackers
mailing list