From ef8d408230a9983c7e0491816ca9c1602d0ce490 Mon Sep 17 00:00:00 2001 From: Gina Peter Banyard Date: Tue, 5 Aug 2025 16:54:06 +0100 Subject: [PATCH] Deprecate the parameter of get_defined_functions() RFC: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_the_exclude_disabled_parameter_of_get_defined_functions --- Zend/tests/bug79668.phpt | 16 ---------------- Zend/zend_builtin_functions.c | 6 +++--- tests/basic/bug31875.phpt | 4 +++- 3 files changed, 6 insertions(+), 20 deletions(-) delete mode 100644 Zend/tests/bug79668.phpt diff --git a/Zend/tests/bug79668.phpt b/Zend/tests/bug79668.phpt deleted file mode 100644 index 5e73a7469b6ff..0000000000000 --- a/Zend/tests/bug79668.phpt +++ /dev/null @@ -1,16 +0,0 @@ ---TEST-- -Bug #79668 (get_defined_functions(true) may miss functions) ---INI-- -disable_functions=sha1_file,password_hash ---FILE-- - ---EXPECT-- -bool(true) -bool(false) -bool(true) -bool(false) diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index 1abdfb0ddf2ec..b25925b89f7f9 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -1483,15 +1483,15 @@ ZEND_FUNCTION(get_defined_functions) zval internal, user; zend_string *key; zend_function *func; - bool exclude_disabled = 1; + bool exclude_disabled = true; if (zend_parse_parameters(ZEND_NUM_ARGS(), "|b", &exclude_disabled) == FAILURE) { RETURN_THROWS(); } - if (exclude_disabled == 0) { + if (ZEND_NUM_ARGS() == 1) { zend_error(E_DEPRECATED, - "get_defined_functions(): Setting $exclude_disabled to false has no effect"); + "get_defined_functions(): The $exclude_disabled parameter has no effect since PHP 8.0"); } array_init(&internal); diff --git a/tests/basic/bug31875.phpt b/tests/basic/bug31875.phpt index 0fdc134d6373b..ee9b466fa7d85 100644 --- a/tests/basic/bug31875.phpt +++ b/tests/basic/bug31875.phpt @@ -22,6 +22,8 @@ var_dump(in_array($disabled_function, $functions['internal'])); --EXPECTF-- bool(false) -Deprecated: get_defined_functions(): Setting $exclude_disabled to false has no effect in %s on line %d +Deprecated: get_defined_functions(): The $exclude_disabled parameter has no effect since PHP 8.0 in %s on line %d bool(false) + +Deprecated: get_defined_functions(): The $exclude_disabled parameter has no effect since PHP 8.0 in %s on line %d bool(false)