Re: [PHP-DEV] Deprecated functions

[email protected] (Levi Morrison)
Newsgroups php.internals
Message-ID <CAFMT4NrrHCnHjXWJOt_fVPdp+yNo7YZqNLHbwtcv6zCM5Gc6WA@mail.gmail.com>
On Tue, Sep 9, 2014 at 11:42 PM, Tjerk Meesters
<[email protected]> wrote:
> Hi,
>
> When I was fixing test cases on my `kill-ereg` branch I noticed a Reflection test case for `ReflectionFunction::isDeprecated()`.
>
> The problem with such a test case is that you’d be chasing deprecated functions to tests against as we move along; this is the current list of deprecated functions as taken from a typical 5.4 installation:
>
> Since 4.1.0: call_user_method, call_user_method_array
> Since 4.3.7: mysql_list_tables, mysql_listtables
> Since 5.3  : ereg, ereg_replace, eregi, eregi_replace, split, spliti, sql_regcase, mysql_db_query, magic_quotes_runtime, set_magic_quotes_runtime, set_socket_blocking
> Since 5.4  : mysql_list_dbs
>
> The above are, as far as I’m concerned, all potential candidates for removal in PHP 7, so in order to reliably test a deprecated function I would suggest introducing a hidden function with this signature:
>
> void __deprecated__() { }
>
> And mark that function as eternally deprecated using the ZEND_ACC_DEPRECATED flag.
>
> Thoughts?

This sounds like a much better solution than what we have. The only
way the test could be less brittle is if you could define a function
and deprecate it in userland as part of the test. Since we don't have
that capability and don't think we should add it I say +1.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.