40 lines
744 B
PHP
40 lines
744 B
PHP
|
<?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]);
|
||
|
}
|
||
|
}
|