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?

Reply via email to