On 10 October 2014 21:27, Marco Pivetta <ocram...@gmail.com> wrote:
> Hello folks,
>
> While rambling with some code today, I realized that `call_user_func`
> behaves strangely, appearing and disappearing from stack traces depending
> on versions of PHP. For an example, compare
> http://3v4l.org/fGpIk#vphp7@20140901, http://3v4l.org/fGpIk#v530 and
> http://3v4l.org/fGpIk#vhhvm-301.
>

Ok. Knee jerk reaction is +1 for consistency, we should decide on what
is the expected and accepted behaviour and make sure tests are written
so that we don't deviate from that.

> Therefore, here comes my idea of simply getting rid of `call_user_func`,
> `call_user_func_array`, `func_get_args`, `func_num_args` and `func_get_arg`.
>
> My plan for it would be to add a deprecation (notice? not sure about that)
> in PHP 5.7, and a complete removal of those methods in PHP 7.0.
>

I understand your impulse, but I agree with others, these are far too
widely used to be deprecated like this

> BC compatibility is easily achieved as variadics (
> https://wiki.php.net/rfc/variadics) allow for writing cleaner and less
> complex versions:
>

True.

So can we make these functions behave as if variadics were used
without removing them? Something akin to making these functions
language constructs?

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

Reply via email to