diff --git a/src/wp-includes/compat.php b/src/wp-includes/compat.php index 69f01fadfd..e32b6efe97 100644 --- a/src/wp-includes/compat.php +++ b/src/wp-includes/compat.php @@ -449,16 +449,6 @@ if ( ! function_exists( 'sodium_crypto_box' ) ) { require ABSPATH . WPINC . '/sodium_compat/autoload.php'; } -/** - * Polyfill for the SPL autoloader. In PHP 5.2 (but not 5.3 and later), SPL can - * be disabled, and PHP 7.2 raises notices if the compiler finds an __autoload() - * function declaration. Function availability is checked here, and the - * autoloader is included only if necessary. - */ -if ( ! function_exists( 'spl_autoload_register' ) ) { - require_once ABSPATH . WPINC . '/spl-autoload-compat.php'; -} - if ( ! function_exists( 'is_countable' ) ) { /** * Polyfill for is_countable() function added in PHP 7.3. diff --git a/src/wp-includes/spl-autoload-compat.php b/src/wp-includes/spl-autoload-compat.php index 599b6046b3..982d9c2a83 100644 --- a/src/wp-includes/spl-autoload-compat.php +++ b/src/wp-includes/spl-autoload-compat.php @@ -5,96 +5,10 @@ * * See https://core.trac.wordpress.org/ticket/41134 * + * @deprecated 5.3.0 No longer needed as the minimum PHP requirement has moved beyond PHP 5.3. + * * @package PHP * @access private */ -if ( ! function_exists( 'spl_autoload_register' ) ) { - $_wp_spl_autoloaders = array(); - - /** - * Autoloader compatibility callback. - * - * @since 4.6.0 - * - * @param string $classname Class to attempt autoloading. - */ - function __autoload( $classname ) { - global $_wp_spl_autoloaders; - foreach ( $_wp_spl_autoloaders as $autoloader ) { - if ( ! is_callable( $autoloader ) ) { - // Avoid the extra warning if the autoloader isn't callable. - continue; - } - - call_user_func( $autoloader, $classname ); - - // If it has been autoloaded, stop processing. - if ( class_exists( $classname, false ) ) { - return; - } - } - } - - /** - * Registers a function to be autoloaded. - * - * @since 4.6.0 - * - * @param callable $autoload_function The function to register. - * @param bool $throw Optional. Whether the function should throw an exception - * if the function isn't callable. Default true. - * @param bool $prepend Whether the function should be prepended to the stack. - * Default false. - */ - function spl_autoload_register( $autoload_function, $throw = true, $prepend = false ) { - if ( $throw && ! is_callable( $autoload_function ) ) { - // String not translated to match PHP core. - throw new Exception( 'Function not callable' ); - } - - global $_wp_spl_autoloaders; - - // Don't allow multiple registration. - if ( in_array( $autoload_function, $_wp_spl_autoloaders ) ) { - return; - } - - if ( $prepend ) { - array_unshift( $_wp_spl_autoloaders, $autoload_function ); - } else { - $_wp_spl_autoloaders[] = $autoload_function; - } - } - - /** - * Unregisters an autoloader function. - * - * @since 4.6.0 - * - * @param callable $function The function to unregister. - * @return bool True if the function was unregistered, false if it could not be. - */ - function spl_autoload_unregister( $function ) { - global $_wp_spl_autoloaders; - foreach ( $_wp_spl_autoloaders as &$autoloader ) { - if ( $autoloader === $function ) { - unset( $autoloader ); - return true; - } - } - - return false; - } - - /** - * Retrieves the registered autoloader functions. - * - * @since 4.6.0 - * - * @return array List of autoloader functions. - */ - function spl_autoload_functions() { - return $GLOBALS['_wp_spl_autoloaders']; - } -} +_deprecated_file( basename( __FILE__ ), '5.3.0', null, 'SPL can no longer be disabled as of PHP 5.3.' );