29 lines
775 B
PHP
29 lines
775 B
PHP
|
<?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;
|
||
|
}
|