SafeStorage.php
744 字节
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
namespace League\Flysystem;
final class SafeStorage
{
    /**
     * @var string
     */
    private $hash;
    /**
     * @var array
     */
    protected static $safeStorage = [];
    public function __construct()
    {
        $this->hash = spl_object_hash($this);
        static::$safeStorage[$this->hash] = [];
    }
    public function storeSafely($key, $value)
    {
        static::$safeStorage[$this->hash][$key] = $value;
    }
    public function retrieveSafely($key)
    {
        if (array_key_exists($key, static::$safeStorage[$this->hash])) {
            return static::$safeStorage[$this->hash][$key];
        }
    }
    public function __destruct()
    {
        unset(static::$safeStorage[$this->hash]);
    }
}