Dict

La classe Dict étend la classe ArrayObject et implémente l'interface JsonSerializable. Elle représente un objet dictionnaire qui peut être sérialisé en JSON.

Propriétés

  • const RECURSIVE : Indique qu'une opération récursive doit être effectuée.
  • const EMPTY_ARRAY_IS_ASSOC : Indique qu'un tableau vide est considéré comme associatif.
  • const BULK_SET_OVERWRITE : Indique que l'opération de définition en masse doit écraser les valeurs existantes.
  • const BULK_SET_DONT_CREATE : Indique de ne pas créer de nouvelles entrées lors de l'opération de définition en masse.
  • const MERGE_OVERWRITE : Indique que l'opération de fusion doit écraser les valeurs existantes.
  • const MERGE_DONT_CREATE : Indique que l'opération de fusion ne doit pas créer de nouvelles entrées.
  • private int $flags : Les indicateurs pour le dictionnaire.

Constructeur

public function __construct(mixed $data = null, int $flags = 0)

Construit une nouvelle instance de Dict.

  • Paramètres :
    • mixed $data : Données optionnelles pour initialiser l'objet.
    • int $flags : Indicateurs optionnels pour convertir récursivement les tableaux imbriqués en objets Dict.

Méthodes

setFlags

public function setFlags(int $flags): void

Définit les indicateurs pour l'objet.

  • Paramètres :
    • int $flags : Les indicateurs à définir.

getFlags

public function getFlags(): int

Récupère les indicateurs associés à l'objet.

  • Retour : int Les indicateurs associés à l'objet.

checkFlag

public function checkFlag(int $flag, int $sourceFlag = null): bool

Vérifie si l'indicateur donné est valide.

  • Paramètres :

    • int $flag : L'indicateur à vérifier.
    • int $sourceFlag : L'indicateur source (optionnel).
  • Retour : bool Vrai si l'indicateur est valide, faux sinon.

__toString

public function __toString(): string

Retourne une représentation sous forme de chaîne de l'objet.

  • Retour : string La représentation sous forme de chaîne de l'objet.

jsonSerialize

public function jsonSerialize(): array

Retourne une représentation sous forme de tableau de l'objet pour la sérialisation JSON.

  • Retour : array La représentation sous forme de tableau de l'objet.

__get

public function __get(mixed $name): mixed

Récupère dynamiquement la valeur d'une propriété.

  • Paramètres :

    • mixed $name : Le nom de la propriété.
  • Retour : mixed La valeur de la propriété ou null si elle n'existe pas.

offsetGet

public function offsetGet(mixed $name): mixed

Récupère la valeur de l'indice spécifié.

  • Paramètres :

    • mixed $name : L'indice à récupérer.
  • Retour : mixed La valeur de l'indice ou null s'il n'existe pas.

__set

public function __set(mixed $name, mixed $value): void

Définit la valeur d'une propriété.

  • Paramètres :
    • mixed $name : Le nom de la propriété.
    • mixed $value : La valeur à définir.

offsetSet

public function offsetSet(mixed $name, mixed $value): void

Définit la valeur à l'indice spécifié.

  • Paramètres :
    • mixed $name : L'indice à définir.
    • mixed $value : La valeur à définir.

__call

public function __call(string $name, array $arguments): mixed

Permet d'appeler des méthodes inaccessibles sur l'objet.

  • Paramètres :

    • string $name : Le nom de la méthode appelée.
    • array $arguments : Les arguments passés à la méthode.
  • Retour : mixed La valeur de la propriété ou un callable qui retourne null.

__invoke

public function __invoke(Iterator|array|Dict $data): self

Définit plusieurs propriétés de l'objet en masse.

  • Paramètres :

    • Iterator|array|Dict $data : Les données à définir.
  • Retour : self L'objet modifié.

bulkSet

public function bulkSet(Iterator|array|Dict|stdClass $data, int $flags = self::BULK_SET_OVERWRITE): self

Définit plusieurs propriétés de l'objet en masse.

  • Paramètres :

    • Iterator|array|Dict|stdClass $data : Les données à définir.
    • int $flags : Les indicateurs pour l'opération de définition en masse.
  • Retour : self L'objet modifié.

bulkGet

public function bulkGet(Iterator|array|Dict|stdClass|string|int $keys, string|int ...$extraKeys): array

Récupère plusieurs valeurs de l'objet à l'aide des clés spécifiées.

  • Paramètres :

    • Iterator|array|Dict|stdClass|string|int $keys : Les clés pour récupérer les valeurs.
    • string|int ...$extraKeys : Clés supplémentaires pour récupérer les valeurs.
  • Retour : array Un tableau contenant les valeurs récupérées.

__debugInfo

public function __debugInfo(): array

Fournit des informations de débogage personnalisées pour l'objet.

  • Retour : array Un tableau associatif contenant les informations de débogage de l'objet.

toArray

public function toArray(): array

Convertit l'objet en un tableau.

  • Retour : array L'objet converti en tableau.

toObject

public function toObject(): object

Convertit l'objet actuel en objet PHP standard.

  • Retour : object L'objet PHP converti.

every

public function every(callable $callback): bool

Vérifie si chaque élément de l'objet satisfait le callback donné.

  • Paramètres :

    • callable $callback : La fonction de rappel à appliquer à chaque élément.
  • Retour : bool Vrai si chaque élément satisfait le callback, faux sinon.

has

public function has(string $key): bool

Vérifie si le dictionnaire contient une clé spécifique.

  • Paramètres :

    • string $key : La clé à vérifier.
  • Retour : bool Vrai si le dictionnaire contient la clé, faux sinon.

keys

public function keys(): array

Retourne un tableau de toutes les clés dans le dictionnaire.

  • Retour : array Un tableau contenant toutes les clés dans le dictionnaire.

values

public function values(): array

Retourne un tableau de toutes les valeurs dans le dictionnaire.

  • Retour : array Un tableau contenant toutes les valeurs dans le dictionnaire.

merge

public function merge(Iterator|array|Dict|stdClass $data, int $flags = self::MERGE_OVERWRITE): self

Fusionne récursivement le dictionnaire avec les données données.

  • Paramètres :

    • Iterator|array|Dict|stdClass $data : Les données à fusionner avec le dictionnaire.
    • int $flags : Les indicateurs pour l'opération de fusion.
  • Retour : self L'objet modifié.

each

public function each(callable $callback): self

Itère sur le dictionnaire et applique le callback à chaque élément.

  • Paramètres :

    • callable $callback : La fonction de rappel à appliquer à chaque élément.
  • Retour : self L'objet modifié.

isCastable

private static function isCastable($value, bool $emptyArrayIsAssoc = false): bool

Vérifie si une valeur peut être convertie en objet dictionnaire.

  • Paramètres :

    • mixed $value : La valeur à vérifier.
    • bool $emptyArrayIsAssoc : Indique si un tableau vide est considéré comme associatif.
  • Retour : bool Vrai si la valeur peut être convertie, faux sinon.

cast

public static function cast(mixed $value, bool $recursive = true, bool $emptyArrayIsAssoc = false): mixed

Crée un objet dictionnaire à partir de la valeur donnée.

  • Paramètres :

    • mixed $value : La valeur à convertir en dictionnaire.
  • bool $recursive : Indique si les objets imbriqués doivent être convertis récursivement.

  • bool $emptyArrayIsAssoc : Indique si un tableau vide est considéré comme associatif.

  • Retour : mixed L'objet dictionnaire.

decode

public static function decode(string $json, bool $recursive = true, bool $emptyArrayIsAssoc = false, mixed $default = '__dict'): mixed

Décode une chaîne JSON en valeur Dict.

  • Paramètres :

    • string $json : La chaîne JSON à décoder.
    • bool $recursive : Indique si les objets et tableaux imbriqués doivent être décodés récursivement.
    • bool $emptyArrayIsAssoc : Indique si un tableau vide est considéré comme associatif.
    • mixed $default : La valeur par défaut à retourner en cas d'échec du décodage.
  • Retour : mixed La valeur PHP décodée.