SaferContext

La classe SaferContext représente le contexte du plugin SAFER dans WordPress. Elle gère les données de session et fournit des méthodes pour mettre à jour, récupérer et manipuler les données du contexte.

Propriétés

private static SaferContext|null $instance

L'instance singleton de la classe SaferContext.

private string $context_id

L'ID du contexte.

private Dict $data

Les données associées au contexte.

private int $expires_at

Le timestamp d'expiration du contexte.

private array $excludes

Les clés à exclure lors de la mise à jour du contexte.

Méthodes

__construct()

protected function __construct()

Description

Construit un nouvel objet SaferContext. Si la page actuelle n'est pas une page singulière, définit l'ID du contexte sur 'no-context' et met à jour les données du contexte. Si le paramètre 'context' n'est pas défini dans la requête, crée un nouveau contexte. Sinon, définit l'ID du contexte sur la valeur du paramètre 'context' et met à jour les données du contexte.

update($redirect = true)

public function update($redirect = true)

Description

Met à jour les données du contexte. Si les données de session pour le contexte n'existent pas, crée un nouvel objet Dict. Si les données du contexte pour l'ID du contexte n'existent pas, crée un nouvel objet Dict. Définit la propriété data sur les données du contexte. Vérifie si le contexte a expiré et redirige si nécessaire. Met à jour les données du contexte en fonction des paramètres de la requête. Prolonge le temps d'expiration du contexte. Redirige si nécessaire.

Paramètres

  • bool $redirect : Si la redirection est nécessaire après la mise à jour des données du contexte. Par défaut à true.

create()

private function create()

Description

Crée un nouveau contexte. Génère un ID de contexte unique. Définit les données du contexte pour l'ID du contexte avec un temps d'expiration. Met à jour les données du contexte. Redirige.

isExpired(): bool

public function isExpired(): bool

Description

Vérifie si le contexte a expiré.

Retour

  • bool : true si le contexte a expiré, sinon false.

setExpiresAt(int $expires_at): int

public function setExpiresAt(int $expires_at): int

Description

Définit le timestamp d'expiration du contexte.

Paramètres

  • int $expires_at : Le timestamp d'expiration.

Retour

  • int : Le nouveau timestamp d'expiration.

extendsExpiresAt(int $expires_at): int

public function extendsExpiresAt(int $expires_at): int

Description

Prolonge le temps d'expiration du contexte.

Paramètres

  • int $expires_at : Le temps supplémentaire à ajouter à l'expiration, en secondes.

Retour

  • int : Le nouveau timestamp d'expiration.

redirect()

public function redirect()

Description

Redirige l'utilisateur vers la page actuelle avec l'ID du contexte et des paramètres de requête supplémentaires.

get(string $key): mixed

public function get(string $key): mixed

Description

Récupère la valeur associée à la clé spécifiée dans les données du contexte.

Paramètres

  • string $key : La clé pour laquelle récupérer la valeur.

Retour

  • mixed|null : La valeur associée à la clé, ou null si la clé n'existe pas.

__get(string $key): mixed

public function __get(string $key): mixed

Description

Méthode magique pour récupérer la valeur associée à la clé spécifiée dans les données du contexte.

Paramètres

  • string $key : La clé pour laquelle récupérer la valeur.

Retour

  • mixed|null : La valeur associée à la clé, ou null si la clé n'existe pas.

set(string $key, mixed $value): mixed

public function set(string $key, mixed $value): mixed

Description

Définit la valeur associée à la clé spécifiée dans les données du contexte.

Paramètres

  • string $key : La clé pour laquelle définir la valeur.
  • mixed $value : La valeur à définir.

Retour

  • mixed : La nouvelle valeur.

__set(string $key, mixed $value): void

public function __set(string $key, mixed $value): void

Description

Méthode magique pour définir la valeur associée à la clé spécifiée dans les données du contexte.

Paramètres

  • string $key : La clé pour laquelle définir la valeur.
  • mixed $value : La valeur à définir.

has(string $key): bool

public function has(string $key): bool

Description

Vérifie si les données du contexte ont la clé spécifiée.

Paramètres

  • string $key : La clé à vérifier.

Retour

  • bool : true si la clé existe dans les données du contexte, sinon false.

__isset(string $key): bool

public function __isset(string $key): bool

Description

Méthode magique pour vérifier si les données du contexte ont la clé spécifiée.

Paramètres

  • string $key : La clé à vérifier.

Retour

  • bool : true si la clé existe dans les données du contexte, sinon false.

__debugInfo(): array

public function __debugInfo(): array

Description

Retourne un tableau d'informations de débogage pour l'objet SaferContext.

Retour

  • array : Un tableau d'informations de débogage.

toArray(): array

public function toArray(): array

Description

Convertit les données du contexte en un tableau, en excluant les clés spécifiées dans la propriété excludes.

Retour

  • array : Les données du contexte sous forme de tableau.

toDict(): Dict

public function toDict(): Dict

Description

Convertit les données du contexte en un objet Dict, en excluant les clés spécifiées dans la propriété excludes.

Retour

  • Dict : Les données du contexte sous forme d'objet Dict.

getDatasetManager(): SaferDatasetManager

public function getDatasetManager(): SaferDatasetManager

Description

Récupère le gestionnaire de jeu de données associé au contexte. Si le gestionnaire de jeu de données n'est pas défini dans les données du contexte, initialise un nouveau gestionnaire de jeu de données et le définit.

Retour

  • SaferDatasetManager : Le gestionnaire de jeu de données.

init(mixed ...$args): static

public static function init(mixed ...$args): static

Description

Initialise l'instance singleton de SaferContext. Si l'instance n'existe pas, en crée une nouvelle.

Paramètres

  • mixed ...$args : Arguments optionnels à passer au constructeur.

Retour

  • static : L'instance singleton de SaferContext.

getInstance(): static|null

public static function getInstance(): static|null

Description

Récupère l'instance singleton de SaferContext.

Retour

  • static|null : L'instance singleton de SaferContext, ou null si elle n'existe pas.