如wp_cache_add的定义:
代码如下 | 复制代码 |
function wp_cache_add( $key, $data, $group = '', $expire = 0 ) { global $wp_object_cache; return $wp_object_cache->add( $key, $data, $group, (int) $expire ); } |
那么wordpress全局变量wp_object_cache是在哪定义的呢?wp_object_cache是一个对象的实例化。
代码如下 | 复制代码 |
/** * Sets up Object Cache Global and assigns it. * * @since 2.0.0 * @global WP_Object_Cache $wp_object_cache WordPress Object Cache */ function wp_cache_init() { $GLOBALS['wp_object_cache'] = new WP_Object_Cache(); } |
在wp_cache_init函数中,实例化了WP_Object_Cache类,放在超全局变量中。所以在wp_cache_add,wp_cache_get,wp_cache_delete等缓存操作函数中都引用了global $wp_object_cache。
这些函数和WP_Object_Cache类定义在../wp-includes/cache.php中。