58 lines
1.7 KiB
PHP
58 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace alveolata\storage;
|
|
|
|
// require_once(DIR_ALVEOLATA . '/definitions.php');
|
|
require_once(DIR_ALVEOLATA . '/storage/abstract/interface.php');
|
|
require_once(DIR_ALVEOLATA . '/storage/implementation-sqltablegroup/functions.php');
|
|
|
|
|
|
/**
|
|
* @author Christian Fraß <frass@greenscale.de>
|
|
*/
|
|
class implementation_sqltablegroup implements interface_storage/*<int,array>*/ {
|
|
|
|
/**
|
|
* @var struct_sqltablegroup $subject
|
|
* @author Christian Fraß <frass@greenscale.de>
|
|
*/
|
|
private $subject;
|
|
|
|
|
|
/**
|
|
* @param struct_sqltable $subject
|
|
* @author Christian Fraß <frass@greenscale.de>
|
|
*/
|
|
private function __construct(struct_sqltablegroup $subject) {$this->subject = $subject;}
|
|
|
|
|
|
/**
|
|
* @return implementation_sqltable
|
|
* @author Christian Fraß <frass@greenscale.de>
|
|
*/
|
|
public static function make(
|
|
\alveolata\storage\implementation_sqltable $core,
|
|
array $satellites
|
|
) : implementation_sqltablegroup
|
|
{
|
|
$subject = sqltablegroup_make($core->get_subject(), $satellites);
|
|
return (new implementation_sqltablegroup($subject));
|
|
}
|
|
|
|
|
|
/**
|
|
* implementations
|
|
*
|
|
* @author Christian Fraß <frass@greenscale.de>
|
|
*/
|
|
public function teardown() : void {sqltablegroup_teardown($this->subject);}
|
|
public function setup() : void {sqltablegroup_setup($this->subject);}
|
|
public function create($value) {return sqltablegroup_create($this->subject, $value);}
|
|
public function update($key, $value) : void {sqltablegroup_update($this->subject, $key, $value);}
|
|
public function delete($key) : void {sqltablegroup_delete($this->subject, $key);}
|
|
public function read($key) {return sqltablegroup_read($this->subject, $key);}
|
|
public function search(array $parameters) : array {return sqltablegroup_search($this->subject, $parameters);}
|
|
|
|
}
|
|
|
|
?>
|