Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
1 / 1
Cache
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
3 / 3
5
100.00% covered (success)
100.00%
1 / 1
 get
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
3
 set
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 clear
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2/**
3 * A static in-process cache for blog data.
4 *
5 * @package automattic/jetpack-status
6 */
7
8namespace Automattic\Jetpack\Status;
9
10/**
11 * A static in-process cache for blog data.
12 *
13 * For internal use only. Do not use this externally.
14 */
15class Cache {
16    /**
17     * Cached data;
18     *
19     * @var array[]
20     */
21    private static $cache = array();
22
23    /**
24     * Get a value from the cache.
25     *
26     * @param string $key Key to fetch.
27     * @param mixed  $default Default value to return if the key is not set.
28     * @return mixed Data.
29     */
30    public static function get( $key, $default = null ) {
31        $blog_id = get_current_blog_id();
32        return isset( self::$cache[ $blog_id ] ) && array_key_exists( $key, self::$cache[ $blog_id ] ) ? self::$cache[ $blog_id ][ $key ] : $default;
33    }
34
35    /**
36     * Set a value in the cache.
37     *
38     * @param string $key Key to set.
39     * @param mixed  $value Value to store.
40     */
41    public static function set( $key, $value ) {
42        $blog_id                         = get_current_blog_id();
43        self::$cache[ $blog_id ][ $key ] = $value;
44    }
45
46    /**
47     * Clear the cache.
48     *
49     * This is intended for use in unit tests.
50     */
51    public static function clear() {
52        self::$cache = array();
53    }
54}