Documentation du code de SPIP et de ses plugins

REST Factory

SERVICE

Table of Contents

Functions

ezrest_api_verifier_contexte()  : bool
Détermine si le serveur est capable de répondre aux requêtes.
ezrest_reponse_initialiser_contenu()  : array<string, mixed>
Initialise le contenu d'une réponse qui se présente comme un tableau associatif.
ezrest_reponse_informer_plugin()  : array<string, mixed>
Complète l'initialisation du contenu d'une réponse avec des informations sur le plugin utilisateur.
ezrest_reponse_expliquer_erreur()  : array<string, mixed>
Complète le bloc d'erreur avec le titre et l'explication de l'erreur.
ezrest_reponse_construire()  : Response
Finalise la réponse à la requête en complétant le header et le contenu mis au préalable au format JSON.
ezrest_collection_verifier()  : bool
Détermine si la collection demandée est valide. Par défaut, REST Factory vérifie que la collection est bien déclarée dans la liste des collections. Si c'est le cas, la fonction permet ensuite au plugin utilisateur de compléter la vérification, si besoin.
ezrest_collection_verifier_filtre()  : bool
Détermine si la valeur de chaque critère de filtre d'une collection est valide.
ezrest_collection_verifier_ressource()  : bool
Détermine si le type de ressource demandée est valide.
ezrest_indexer()  : array<string, mixed>
Construit l'index des collections disponibles avec leur configuration expliquée.
ezrest_contextualiser()  : array<string, mixed>
Construit le contexte à fournir au fichier HTML qui produira le JSON des données de la réponse.
ezrest_cache_identifier()  : array<string, mixed>
Construit l'identifiant relatif du fichier cache (plugin Cache Factory) dans lequel sera stockée la réponse à la requête.
ezrest_conditionner()  : array<string|int, mixed>
Construit le tableau des conditions SQL à appliquer à la collection.
ezrest_collectionner()  : array<string|int, mixed>
Renvoie les données correspondant à la collection et aux filtres demandés.
ezrest_ressourcer()  : array<string|int, mixed>
Renvoie les données correspondant à la ressource demandée.

Functions

ezrest_api_verifier_contexte()

Détermine si le serveur est capable de répondre aux requêtes.

ezrest_api_verifier_contexte(string $plugin, array<string, mixed> &$erreur) : bool

Par défaut, l'API ezREST ne fait aucune vérification. C'est donc au plugin utilisateur de fournir un service spécifique si une vérification globale doit être effectuée afin d'assurer le fonctionnement de l'API.

Si une erreur est détectée, le plugin utilisateur ne renvoie le type, l'élément et la valeur qui provoque l'erreur sachant que c'est le service par défaut qui positionne le code.

Parameters
$plugin : string

Préfixe du plugin utilisateur de ezrest et donc fournisseur de la collection.

$erreur : array<string, mixed>

Tableau initialisé avec les index identifiant l'erreur ou vide si pas d'erreur.

Tags
uses
service_ezrest_chercher()
uses
erreur_ezrest_initialiser()
used-by
http_ezrest_get_collection_dist()
used-by
http_ezrest_get_ressource_dist()
Return values
bool

true si la valeur est valide, false sinon.

ezrest_reponse_initialiser_contenu()

Initialise le contenu d'une réponse qui se présente comme un tableau associatif.

ezrest_reponse_initialiser_contenu(Request $requete) : array<string, mixed>

En particulier, la fonction stocke les éléments de la requête et positionne le bloc d'erreur par défaut à ok.

Ce service standard n'est pas personnalisable par un plugin utilisateur.

Parameters
$requete : Request

Objet requête fourni par le plugin Serveur HTTP abstrait.

Tags
uses
erreur_ezrest_initialiser()
uses
ezrest_reponse_expliquer_erreur()
used-by
http_ezrest_erreur_dist()
used-by
http_ezrest_get_index_dist()
used-by
http_ezrest_get_collection_dist()
used-by
http_ezrest_get_ressource_dist()
Return values
array<string, mixed>

Le contenu initial de la réponse est un tableau associatif à 3 entrées:

  • requete : sous-tableau des éléments de la requête
  • erreur : sous-tableau des éléments descriptifs d'une erreur (status 200 par défaut)
  • donnees : le tableau des objets demandés fonction de la requête (vide)

ezrest_reponse_informer_plugin()

Complète l'initialisation du contenu d'une réponse avec des informations sur le plugin utilisateur.

ezrest_reponse_informer_plugin(string $plugin, array<string, mixed> $contenu) : array<string, mixed>

REST Factory remplit de façon standard un nouvel index plugin du contenu et permet ensuite au plugin utilisateur de personnaliser encore le contenu initialisé, si besoin.

Parameters
$plugin : string

Préfixe du plugin utilisateur de ezrest et donc fournisseur de la collection.

$contenu : array<string, mixed>

Le contenu de la réponse initialisé par ezrest_reponse_initialiser_contenu.

Tags
uses
service_ezrest_chercher()
used-by
http_ezrest_get_collection_dist()
used-by
http_ezrest_get_ressource_dist()
Return values
array<string, mixed>

Le contenu initial de la réponse complétée par l'index fournisseur qui fournit des informations sur le plugin utilisateur.

ezrest_reponse_expliquer_erreur()

Complète le bloc d'erreur avec le titre et l'explication de l'erreur.

ezrest_reponse_expliquer_erreur(string $plugin, array<string, mixed> $erreur[, null|string $collection = '' ]) : array<string, mixed>
Parameters
$plugin : string

Préfixe du plugin utilisateur de ezrest et donc fournisseur de la collection.

$erreur : array<string, mixed>

Tableau initialisé avec les éléments de base de l'erreur (status, type, element et valeur).

$collection : null|string = ''

Identifiant de la collection

Tags
uses
service_ezrest_chercher()
used-by
ezrest_reponse_initialiser_contenu()
used-by
http_ezrest_get_collection_dist()
used-by
http_ezrest_get_ressource_dist()
Return values
array<string, mixed>

Tableau de l'erreur complété avec le titre (index title) et le descriptif (index detail).

ezrest_reponse_construire()

Finalise la réponse à la requête en complétant le header et le contenu mis au préalable au format JSON.

ezrest_reponse_construire(Response $reponse, array<string, mixed> $contenu) : Response

Ce service standard n'est pas personnalisable par un plugin utilisateur.

Parameters
$reponse : Response

Objet réponse tel qu'initialisé par le serveur HTTP abstrait.

$contenu : array<string, mixed>

Tableau du contenu de la réponse qui sera retourné en JSON.

Return values
Response

Retourne l'objet réponse dont le contenu et certains attributs du header sont mis à jour.

ezrest_collection_verifier()

Détermine si la collection demandée est valide. Par défaut, REST Factory vérifie que la collection est bien déclarée dans la liste des collections. Si c'est le cas, la fonction permet ensuite au plugin utilisateur de compléter la vérification, si besoin.

ezrest_collection_verifier(string $collection, string &$plugin, array<string, mixed> &$erreur) : bool
Parameters
$collection : string

L'identifiant de la collection demandée

$plugin : string

Préfixe du plugin fournisseur de la collection. Chaine vide en entrée et en sortie si une erreur est détectée.

$erreur : array<string, mixed>

Tableau initialisé avec les index identifiant l'erreur ou vide si pas d'erreur. Les index mis à jour sont:

  • status : le code de l'erreur HTTP, soit 400
  • type : chaine identifiant l'erreur plus précisément, soit collection_nok
  • element : type d'objet sur lequel porte l'erreur, soit collection
  • valeur : la valeur de la collection
Tags
uses
erreur_ezrest_initialiser()
uses
service_ezrest_chercher()
used-by
http_ezrest_get_collection_dist()
used-by
http_ezrest_get_ressource_dist()
Return values
bool

true si la valeur est valide, false sinon.

ezrest_collection_verifier_filtre()

Détermine si la valeur de chaque critère de filtre d'une collection est valide.

ezrest_collection_verifier_filtre(string $plugin, array<string, mixed> $filtres, string $collection, array<string, mixed> $configuration, array<string, mixed> &$erreur) : bool

Si plusieurs critères sont fournis, la fonction s'interromp dès qu'elle trouve un critère non admis ou dont la valeur est invalide.

Parameters
$plugin : string

Préfixe du plugin utilisateur de ezrest et donc fournisseur de la collection.

$filtres : array<string, mixed>

Tableau associatif des critères de filtre (couple nom du critère, valeur du critère)

$collection : string

L'identifiant de la collection concernée.

$configuration : array<string, mixed>

Configuration de la collection concernée. L'index filtres contient la liste des critères admissibles et l'index module contient le nom du fichier des fonctions de service.

$erreur : array<string, mixed>

Tableau initialisé avec les index identifiant l'erreur ou vide si pas d'erreur. Les index mis à jour sont:

  • status : le code de l'erreur HTTP, soit 400
  • type : chaine identifiant l'erreur plus précisément
  • element : nom du critère en erreur
  • valeur : valeur du critère
Tags
uses
erreur_ezrest_initialiser()
uses
service_ezrest_chercher()
used-by
http_ezrest_get_collection_dist()
used-by
http_ezrest_get_ressource_dist()
Return values
bool

true si la valeur est valide, false sinon.

ezrest_collection_verifier_ressource()

Détermine si le type de ressource demandée est valide.

ezrest_collection_verifier_ressource(string $plugin, string $ressource, string $collection, array<string, mixed> $configuration, array<string, mixed> &$erreur) : bool
Parameters
$plugin : string

Préfixe du plugin utilisateur de ezrest et donc fournisseur de la collection.

$ressource : string

La valeur de la ressource demandée. La ressource appartient à une collection. On considère que la ressource est passée comme une chaine, c'est au plugin utilisateur de connaitre son type réel.

$collection : string

L'identifiant de la collection concernée.

$configuration : array<string, mixed>

Configuration de la collection de la ressource. L'index ressource identifie le champ attendu pour désigner la ressource et l'index module contient le nom du fichier des fonctions de service.

$erreur : array<string, mixed>

Tableau initialisé avec les index identifiant l'erreur ou vide si pas d'erreur. Les index mis à jour sont:

  • status : le code de l'erreur HTTP, soit 400
  • type : chaine identifiant l'erreur plus précisément, soit ressource_nok
  • element : type d'objet sur lequel porte l'erreur, soit ressource
  • valeur : la valeur de la ressource
Tags
uses
erreur_ezrest_initialiser()
uses
service_ezrest_chercher()
used-by
http_ezrest_get_ressource_dist()
Return values
bool

true si la valeur est valide, false sinon.

ezrest_indexer()

Construit l'index des collections disponibles avec leur configuration expliquée.

ezrest_indexer() : array<string, mixed>
Return values
array<string, mixed>

Tableau des configurations des collections disponibles classées par plugin fournisseur.

ezrest_contextualiser()

Construit le contexte à fournir au fichier HTML qui produira le JSON des données de la réponse.

ezrest_contextualiser(string $plugin, string $collection, array<string, mixed> $parametres, array<string, mixed> $configuration) : array<string, mixed>

Cette fonction est utilisée si la méthode de cache choisie dans la configuration de la collection est spip.

Parameters
$plugin : string

Préfixe du plugin utilisateur de ezrest et donc fournisseur de la collection.

$collection : string

L'identifiant de la collection concernée.

$parametres : array<string, mixed>

Tableau associatif des paramètres possiblement utiles au contexte. Cet argument est principalement utilisé pour fournir les filtres. Pour une ressource, l'identifiant et la valeur de la ressource sont aussi fournis à l'instar des éventuels filtres.

$configuration : array<string, mixed>

Configuration de la collection concernée.

Return values
array<string, mixed>

Le tableau de contexte à fournir au fichier HTML.

ezrest_cache_identifier()

Construit l'identifiant relatif du fichier cache (plugin Cache Factory) dans lequel sera stockée la réponse à la requête.

ezrest_cache_identifier(string $plugin, string $type_requete[, null|string $collection = 'collections' ][, null|array<string, mixed> $parametres = [] ][, null|array<string, mixed> $configuration = [] ]) : array<string, mixed>

Le préfixe du plugin sert à définir le sous-dossier de stockage. Le type de requête (collection, ressource, index), l'identifiant de la collection et un éventuellement complément forment les composants du nom du fichier cache.

Parameters
$plugin : string

Préfixe du plugin utilisateur de ezrest et donc fournisseur de la collection.

$type_requete : string

Indique si on demande l'index, une collection ou une ressource.

$collection : null|string = 'collections'

L'identifiant de la collection concernée.

$parametres : null|array<string, mixed> = []

Tableau associatif des paramètres complémentaires pour calculer l'identifiant. Cet argument est principalement utilisé pour compiler les filtres. Pour une ressource, l'identifiant et la valeur de la ressource sont aussi fournis à l'instar des éventuels filtres.

$configuration : null|array<string, mixed> = []

Configuration de la collection concernée.

Return values
array<string, mixed>

Tableau de l'identifiant relatif du fichier cache.

ezrest_conditionner()

Construit le tableau des conditions SQL à appliquer à la collection.

ezrest_conditionner(string $plugin, string $collection, array<string, mixed> $filtres, array<string, mixed> $configuration) : array<string|int, mixed>
Parameters
$plugin : string

Préfixe du plugin utilisateur de ezrest et donc fournisseur de la collection.

$collection : string

L'identifiant de la collection concernée.

$filtres : array<string, mixed>

Tableau associatif des critères de filtre (couple nom du critère, valeur du critère)

$configuration : array<string, mixed>

Configuration de la collection concernée.

Tags
uses
service_ezrest_chercher()
used-by
http_ezrest_get_collection_dist()
Return values
array<string|int, mixed>

Tableau des conditions SQL

ezrest_collectionner()

Renvoie les données correspondant à la collection et aux filtres demandés.

ezrest_collectionner(string $plugin, string $collection, array<string|int, mixed> $conditions, array<string, mixed> $filtres, array<string, mixed> $configuration) : array<string|int, mixed>
Parameters
$plugin : string

Préfixe du plugin utilisateur de ezrest et donc fournisseur de la collection.

$collection : string

L'identifiant de la collection concernée.

$conditions : array<string|int, mixed>

Tableau des conditions SQL à appliquer, compilées à partir des filtres de la requête.

$filtres : array<string, mixed>

Tableau associatif des critères de filtre (couple nom du critère, valeur du critère)

$configuration : array<string, mixed>

Configuration de la collection concernée.

Tags
uses
service_ezrest_chercher()
used-by
http_ezrest_get_collection_dist()
Return values
array<string|int, mixed>

Données correspondant à la requête sur la collection

ezrest_ressourcer()

Renvoie les données correspondant à la ressource demandée.

ezrest_ressourcer(string $plugin, string $collection, string $ressource, array<string, mixed> $filtres, array<string, mixed> $configuration) : array<string|int, mixed>
Parameters
$plugin : string

Préfixe du plugin utilisateur de ezrest et donc fournisseur de la collection.

$collection : string

L'identifiant de la collection concernée.

$ressource : string

La valeur de la ressource demandée. La ressource appartient à une collection. On considère que la ressource est passée comme une chaine, c'est au plugin utilisateur de connaitre son type réel.

$filtres : array<string, mixed>

Tableau associatif des critères de filtre (couple nom du critère, valeur du critère)

$configuration : array<string, mixed>

Configuration de la collection concernée.

Tags
uses
service_ezrest_chercher()
used-by
http_ezrest_get_ressource_dist()
Return values
array<string|int, mixed>

Données correspondant à la requête sur la ressource


        
On this page

Search results