99 lines
1.5 KiB
PHP
99 lines
1.5 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace alveolata\cache;
|
||
|
|
||
|
// require_once(DIR_ALVEOLATA . '/definitions.php');
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @author Christian Fraß <frass@greenscale.de>
|
||
|
*/
|
||
|
class struct_subject_memory {
|
||
|
|
||
|
/**
|
||
|
* @author Christian Fraß <frass@greenscale.de>
|
||
|
*/
|
||
|
public $data;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @author Christian Fraß <frass@greenscale.de>
|
||
|
*/
|
||
|
public function __construct(
|
||
|
)
|
||
|
{
|
||
|
$this->data = [];
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @author Christian Fraß <frass@greenscale.de>
|
||
|
* @return struct_subject_memory
|
||
|
*/
|
||
|
function memory_make(
|
||
|
) : struct_subject_memory
|
||
|
{
|
||
|
return (new struct_subject_memory());
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @param struct_subject_memory $subject
|
||
|
* @param string $id
|
||
|
* @param mixed $value
|
||
|
* @author Christian Fraß <frass@greenscale.de>
|
||
|
*/
|
||
|
function memory_set(
|
||
|
struct_subject_memory $subject,
|
||
|
string $id,
|
||
|
$value
|
||
|
) : void
|
||
|
{
|
||
|
$subject->data[$id] = $value;
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @param struct_subject_memory $subject
|
||
|
* @param string $id
|
||
|
* @return bool
|
||
|
* @author Christian Fraß <frass@greenscale.de>
|
||
|
*/
|
||
|
function memory_has(
|
||
|
struct_subject_memory $subject,
|
||
|
string $id
|
||
|
) : bool
|
||
|
{
|
||
|
return array_key_exists($id, $subject->data);
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @param struct_subject_memory $subject
|
||
|
* @param string $id
|
||
|
* @return mixed
|
||
|
* @author Christian Fraß <frass@greenscale.de>
|
||
|
*/
|
||
|
function memory_fetch(
|
||
|
struct_subject_memory $subject,
|
||
|
string $id
|
||
|
)
|
||
|
{
|
||
|
return $subject->data[$id];
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @param struct_subject_memory $subject
|
||
|
* @author Christian Fraß <frass@greenscale.de>
|
||
|
*/
|
||
|
function memory_clear(
|
||
|
struct_subject_memory $subject
|
||
|
) : void
|
||
|
{
|
||
|
$subject->data = [];
|
||
|
}
|
||
|
|