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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
* l'élément dont la clé est $key
|
||||
|
@ -130,6 +155,15 @@ class cl {
|
|||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
|
|
|
@ -7,6 +7,8 @@ namespace nur\sery\db;
|
|||
class CapacitorChannel {
|
||||
const NAME = null;
|
||||
|
||||
const TABLE_NAME = null;
|
||||
|
||||
const EACH_COMMIT_THRESHOLD = 100;
|
||||
|
||||
static function verifix_name(?string $name): string {
|
||||
|
@ -27,6 +29,10 @@ class CapacitorChannel {
|
|||
return $this->name;
|
||||
}
|
||||
|
||||
function getTableName(): string {
|
||||
return static::TABLE_NAME ?? ($this->name."_channel");
|
||||
}
|
||||
|
||||
/**
|
||||
* @var ?int nombre maximum de modifications dans une transaction avant un
|
||||
* commit automatique dans {@link Capacitor::each()}. Utiliser null pour
|
||||
|
@ -38,10 +44,6 @@ class CapacitorChannel {
|
|||
return $this->eachCommitThreshold;
|
||||
}
|
||||
|
||||
function getTableName(): string {
|
||||
return $this->name."_channel";
|
||||
}
|
||||
|
||||
protected $created;
|
||||
|
||||
function isCreated(): bool {
|
||||
|
|
Loading…
Reference in New Issue