modifs.mineures sans commentaires
This commit is contained in:
parent
207d17a749
commit
c70339cba5
|
@ -2,9 +2,10 @@
|
||||||
namespace nur\sery\db;
|
namespace nur\sery\db;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class AbstractCapacitor: implémentation de base d'un {@link ICapacitor}
|
* Class CapacitorStorage: objet permettant d'accumuler des données pour les
|
||||||
|
* réutiliser plus tard
|
||||||
*/
|
*/
|
||||||
abstract class CapacitorStorage implements ICapacitor {
|
abstract class CapacitorStorage {
|
||||||
abstract protected function getChannel(?string $name): CapacitorChannel;
|
abstract protected function getChannel(?string $name): CapacitorChannel;
|
||||||
|
|
||||||
abstract function _exists(CapacitorChannel $channel): bool;
|
abstract function _exists(CapacitorChannel $channel): bool;
|
||||||
|
@ -23,24 +24,50 @@ abstract class CapacitorStorage implements ICapacitor {
|
||||||
|
|
||||||
abstract function _charge(CapacitorChannel $channel, $item, ?callable $func, ?array $args): bool;
|
abstract function _charge(CapacitorChannel $channel, $item, ?callable $func, ?array $args): bool;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* charger une valeur dans le canal
|
||||||
|
*
|
||||||
|
* Si $func!==null, après avoir calculé les valeurs des clés supplémentaires
|
||||||
|
* avec {@link CapacitorChannel::getKeyValues()}, la fonction est appelée avec
|
||||||
|
* les arguments ($item, $keyValues, $row, ...$args)
|
||||||
|
* Si la fonction retourne un tableau, il est utilisé pour modifié les valeurs
|
||||||
|
* insérées/mises à jour
|
||||||
|
*
|
||||||
|
* @return true si l'objet a été chargé ou mis à jour, false s'il existait
|
||||||
|
* déjà à l'identique dans le canal
|
||||||
|
*/
|
||||||
function charge(?string $channel, $item, ?callable $func=null, ?array $args=null): bool {
|
function charge(?string $channel, $item, ?callable $func=null, ?array $args=null): bool {
|
||||||
return $this->_charge($this->getChannel($channel), $item, $func, $args);
|
return $this->_charge($this->getChannel($channel), $item, $func, $args);
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract function _discharge(CapacitorChannel $channel, $filter, ?bool $reset): iterable;
|
abstract function _discharge(CapacitorChannel $channel, $filter, ?bool $reset): iterable;
|
||||||
|
|
||||||
|
/** décharger les données du canal spécifié */
|
||||||
function discharge(?string $channel, $filter=null, ?bool $reset=null): iterable {
|
function discharge(?string $channel, $filter=null, ?bool $reset=null): iterable {
|
||||||
return $this->_discharge($this->getChannel($channel), $filter, $reset);
|
return $this->_discharge($this->getChannel($channel), $filter, $reset);
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract function _get(CapacitorChannel $channel, $filter);
|
abstract function _get(CapacitorChannel $channel, $filter);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* obtenir l'élément identifié par les clés spécifiées sur le canal spécifié
|
||||||
|
*
|
||||||
|
* si $filter n'est pas un tableau, il est transformé en ["_id" => $filter]
|
||||||
|
*/
|
||||||
function get(?string $channel, $filter) {
|
function get(?string $channel, $filter) {
|
||||||
return $this->_get($this->getChannel($channel), $filter);
|
return $this->_get($this->getChannel($channel), $filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract function _each(CapacitorChannel $channel, $filter, callable $func, ?array $args): void;
|
abstract function _each(CapacitorChannel $channel, $filter, callable $func, ?array $args): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* appeler une fonction pour chaque élément du canal spécifié.
|
||||||
|
*
|
||||||
|
* $filter permet de filtrer parmi les élements chargés
|
||||||
|
*
|
||||||
|
* si $func retourne un tableau, il est utilisé pour mettre à jour
|
||||||
|
* l'enregistrement.
|
||||||
|
*/
|
||||||
function each(?string $channel, $filter, callable $func, ?array $args=null): void {
|
function each(?string $channel, $filter, callable $func, ?array $args=null): void {
|
||||||
$this->_each($this->getChannel($channel), $filter, $func, $args);
|
$this->_each($this->getChannel($channel), $filter, $func, $args);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
<?php
|
|
||||||
namespace nur\sery\db;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Interface ICapacitor: objet permettant d'accumuler des données pour les
|
|
||||||
* réutiliser plus tard
|
|
||||||
*/
|
|
||||||
interface ICapacitor {
|
|
||||||
/** tester si le canal spécifié existe */
|
|
||||||
function exists(?string $channel): bool;
|
|
||||||
|
|
||||||
/** supprimer le canal spécifié */
|
|
||||||
function reset(?string $channel): void;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* charger une valeur dans le canal
|
|
||||||
*
|
|
||||||
* Si $func!==null, après avoir calculé les valeurs des clés supplémentaires
|
|
||||||
* avec {@link CapacitorChannel::getKeyValues()}, la fonction est appelée avec
|
|
||||||
* les arguments ($item, $keyValues, $row, ...$args)
|
|
||||||
* Si la fonction retourne un tableau, il est utilisé pour modifié les valeurs
|
|
||||||
* insérées/mises à jour
|
|
||||||
*
|
|
||||||
* @return true si l'objet a été chargé ou mis à jour, false s'il existait
|
|
||||||
* déjà à l'identique dans le canal
|
|
||||||
*/
|
|
||||||
function charge(?string $channel, $item, ?callable $func=null, ?array $args=null): bool;
|
|
||||||
|
|
||||||
/** décharger les données du canal spécifié */
|
|
||||||
function discharge(?string $channel, $filter=null, ?bool $reset=null): iterable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* obtenir l'élément identifié par les clés spécifiées sur le canal spécifié
|
|
||||||
*
|
|
||||||
* si $filter n'est pas un tableau, il est transformé en ["_id" => $filter]
|
|
||||||
*/
|
|
||||||
function get(?string $channel, $filter);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* appeler une fonction pour chaque élément du canal spécifié.
|
|
||||||
*
|
|
||||||
* $filter permet de filtrer parmi les élements chargés
|
|
||||||
*
|
|
||||||
* si $func retourne un tableau, il est utilisé pour mettre à jour
|
|
||||||
* l'enregistrement.
|
|
||||||
*/
|
|
||||||
function each(?string $channel, $filter, callable $func, ?array $args=null): void;
|
|
||||||
|
|
||||||
function close(): void;
|
|
||||||
}
|
|
Loading…
Reference in New Issue