
学习如何驯服React的useCallback钩子
_preload_old_requests_classes_and_interfaces ( $to )
_preload_old_requests_classes_and_interfaces: 这是一个WordPress的内部函数,用来预加载不再使用的旧的类和接口。它被用来确保向后兼容旧版本的WordPress和可能仍在使用这些废弃的类和接口的插件。
预加载旧的Requests类和接口。
这个函数在升级过程中删除文件之前将旧的请求代码预装到内存中。为什么?Requests的代码是通过自动加载器加载到内存中的,这意味着当一个类或接口被需要时:如果一个请求正在进行中,Requests可以尝试访问代码。如果文件不在那里,可能会发生一个致命的错误。如果文件被替换了,新的代码与旧的不兼容,导致致命的错误。预加载确保代码在更新之前就在内存中。
function _preload_old_requests_classes_and_interfaces( $to ) { global $_old_requests_files, $wp_filesystem, $wp_version; /* * Requests was introduced in WordPress 4.6. * * Skip preloading if the website was previously using * an earlier version of WordPress. */ if ( version_compare( $wp_version, '4.6', '<' ) ) { return; } if ( ! defined( 'REQUESTS_SILENCE_PSR0_DEPRECATIONS' ) ) { define( 'REQUESTS_SILENCE_PSR0_DEPRECATIONS', true ); } foreach ( $_old_requests_files as $name => $file ) { // Skip files that aren't interfaces or classes. if ( is_int( $name ) ) { continue; } // Skip if it's already loaded. if ( class_exists( $name ) || interface_exists( $name ) ) { continue; } // Skip if the file is missing. if ( ! $wp_filesystem->is_file( $to . $file ) ) { continue; } require_once $to . $file; } }