modifs.mineures sans commentaires
This commit is contained in:
parent
58a037bd98
commit
1bf1fdd814
66
src/cl.php
66
src/cl.php
|
@ -82,6 +82,31 @@ class cl {
|
||||||
return $default;
|
return $default;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* retourner un tableau construit à partir des clés de $keys
|
||||||
|
* - [$key => $skey] --> $dest[$key] = self::get($array, $skey)
|
||||||
|
* - [$key => null] --> $dest[$key] = null
|
||||||
|
* - [$key] --> $dest[$key] = self::get($array, $key)
|
||||||
|
* - [null] --> NOP
|
||||||
|
*/
|
||||||
|
static final function select($array, ?array $keys): array {
|
||||||
|
$selected = [];
|
||||||
|
$index = 0;
|
||||||
|
foreach ($keys as $key => $skey) {
|
||||||
|
if ($key === $index) {
|
||||||
|
$index++;
|
||||||
|
if ($skey === null) continue;
|
||||||
|
$value = self::get($array, $skey);
|
||||||
|
$key = $skey;
|
||||||
|
} else {
|
||||||
|
if ($skey === null) $value = null;
|
||||||
|
else $value = self::pget($array, $skey);
|
||||||
|
}
|
||||||
|
$selected[$key] = $value;
|
||||||
|
}
|
||||||
|
return $selected;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* si $array est un array ou une instance de ArrayAccess, créer ou modifier
|
* si $array est un array ou une instance de ArrayAccess, créer ou modifier
|
||||||
* l'élément dont la clé est $key
|
* l'élément dont la clé est $key
|
||||||
|
@ -130,6 +155,15 @@ class cl {
|
||||||
return $default;
|
return $default;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* retourner la dernière valeur de $array ou $default si le tableau est null
|
||||||
|
* ou vide
|
||||||
|
*/
|
||||||
|
static final function last($array, $default=null) {
|
||||||
|
if (is_array($array)) return $array[array_key_last($array)];
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -236,6 +270,38 @@ class cl {
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* retourner un tableau construit à partir des chemins de clé de $pkeys
|
||||||
|
* ces chemins peuvent être exprimés de plusieurs façon:
|
||||||
|
* - [$key => $pkey] --> $dest[$key] = self::pget($array, $pkey)
|
||||||
|
* - [$key => null] --> $dest[$key] = null
|
||||||
|
* - [$pkey] --> $dest[$key] = self::pget($array, $pkey)
|
||||||
|
* avec $key = implode(".", $pkey))
|
||||||
|
* - [null] --> NOP
|
||||||
|
*/
|
||||||
|
static final function pselect($array, ?array $pkeys): array {
|
||||||
|
$selected = [];
|
||||||
|
$index = 0;
|
||||||
|
foreach ($pkeys as $key => $pkey) {
|
||||||
|
if ($key === $index) {
|
||||||
|
$index++;
|
||||||
|
if ($pkey === null) continue;
|
||||||
|
if (!is_array($pkey)) $pkey = explode(".", strval($pkey));
|
||||||
|
$value = self::pget($array, $pkey);
|
||||||
|
$key = implode(".", $pkey);
|
||||||
|
} else {
|
||||||
|
if ($pkey === null) {
|
||||||
|
$value = null;
|
||||||
|
} else {
|
||||||
|
if (!is_array($pkey)) $pkey = explode(".", strval($pkey));
|
||||||
|
$value = self::pget($array, $pkey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$selected[$key] = $value;
|
||||||
|
}
|
||||||
|
return $selected;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* modifier la valeur au chemin de clé $keys dans le tableau $array
|
* modifier la valeur au chemin de clé $keys dans le tableau $array
|
||||||
*
|
*
|
||||||
|
|
|
@ -7,6 +7,8 @@ namespace nur\sery\db;
|
||||||
class CapacitorChannel {
|
class CapacitorChannel {
|
||||||
const NAME = null;
|
const NAME = null;
|
||||||
|
|
||||||
|
const TABLE_NAME = null;
|
||||||
|
|
||||||
const EACH_COMMIT_THRESHOLD = 100;
|
const EACH_COMMIT_THRESHOLD = 100;
|
||||||
|
|
||||||
static function verifix_name(?string $name): string {
|
static function verifix_name(?string $name): string {
|
||||||
|
@ -27,6 +29,10 @@ class CapacitorChannel {
|
||||||
return $this->name;
|
return $this->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getTableName(): string {
|
||||||
|
return static::TABLE_NAME ?? ($this->name."_channel");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ?int nombre maximum de modifications dans une transaction avant un
|
* @var ?int nombre maximum de modifications dans une transaction avant un
|
||||||
* commit automatique dans {@link Capacitor::each()}. Utiliser null pour
|
* commit automatique dans {@link Capacitor::each()}. Utiliser null pour
|
||||||
|
@ -38,10 +44,6 @@ class CapacitorChannel {
|
||||||
return $this->eachCommitThreshold;
|
return $this->eachCommitThreshold;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTableName(): string {
|
|
||||||
return $this->name."_channel";
|
|
||||||
}
|
|
||||||
|
|
||||||
protected $created;
|
protected $created;
|
||||||
|
|
||||||
function isCreated(): bool {
|
function isCreated(): bool {
|
||||||
|
|
Loading…
Reference in New Issue