chengkun
2025-09-19 d48eff069585e2be1bd02b1299e1fe7581cb6dad
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]);
    }
}