nur-sery/wip/php/access/IAccess.php

29 lines
775 B
PHP
Raw Normal View History

2024-08-17 17:03:07 +04:00
<?php
namespace nur\sery\wip\php\access;
/**
* Interface IAccess: abstraction d'un accès complet à une valeur
*/
interface IAccess extends IGetter, ISetter, IDeleter {
/** incrémenter la valeur */
function inc(&$dest): int;
/** décrémenter la valeur */
function dec(&$dest, bool $allowNegative=false): int;
/**
* fusionner le tableau $values dans la destination, qui est transformée en
* tableau d'abord si nécessaire
*/
function merge($values, &$dest): void;
/**
* ajouter la valeur à la destination, qui est transformée en tableau d'abord
* si nécessaire
*
* la valeur est ajoutée avec la clé $key le cas échéant, ou à la fin du
* tableau si $key===null
*/
function append($value, &$dest, $key=null): void;
}