Re: Deprecation of func_get_args(), call_user_func_array() and related API
| From: | Stas Malyshev | Date: | Mon, 13 Oct 2014 18:47:54 +0000 |
| Subject: | Re: Deprecation of func_get_args(), call_user_func_array() and related API | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-77933@lists.php.net to get a copy of this message | ||
Hi!
> While rambling with some code today, I realized that
call_user_funcÔtK
> �ÁŽ:Ó|'Í•:…¨
> behaves strangely, appearing and disappearing from stack traces depending
> on versions of PHP.
If there's a problem with these functions, some bug in backtrace
reporting, they of course need to be fixed. However I see no reason at
all to deprecate a widely used function and create a myriad of BC issues
for no gain at all. Compatibility is a feature, and not only it is just
a feature - it's one of the most requested and most influential
features. BC breaks delay adoption of new versions by years, even for
minor things. For major widely used things
Please, when proposing removing something from PHP, check:
1. If it is widely used
2. If its removal gains huge benefit for PHP which can not be achieved
by any other way
If you answer yes on 1 or no on 2, then there's no point proposing this
removal. That would only make the next version unadoptable for a decade.
Remember, we still have people reluctant to move to 5.4, and you propose
to have them to rewrite all their code and wait until all their
libraries are rewritten (major cause of python 3 adoption problems is
libraries) for what exactly?
Yes, we can rewrite these functions in userland. So we can may others.
The long standing tradition of PHP in this area is to go the extra mile
for the user and actually provide helpful functions, even when
duplicating the functionality already available in user-land, for the
convenience of the user. But this is for adding things. For removing
things, bar is much, much higher.
--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/