14

registry

Les fonctions registry_get, registry_set et registry_delete implémentent un registre permanent de sauvegarde de variables et de leurs valeurs.

Les variables sont enregistrées dans la table registry de la BD.

CREATE TABLE `izend_registry` (
  `name` VARCHAR(100) NOT NULL,
  `value` longtext NOT NULL,
  PRIMARY KEY (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Les valeurs des variables sont sérialisées.

registry_get
SYNOPSIS

registry_get($name, $default=false)

DESCRIPTION

registry_get retourne la valeur de la variable précédemment enregistrée avec le nom $name. Si $name n'est pas une variable enregistrée, ou en cas d'erreur, registry_get retourne la valeur spécifiée par $default.

CODE
  1. function registry_get($name, $default=false) {
  2.     $sqlname=db_sql_arg($name, false);
  3.  
  4.     $tabregistry=db_prefix_table('registry');
  5.  
  6.     $sql="SELECT value FROM $tabregistry WHERE name=$sqlname";
  7.  
  8.     $r = db_query($sql);

registry_get exécute une requête SQL qui extrait la valeur de la variable $name de la table registry, puis désérialise la valeur obtenue avant de la retourner. Notez l'emploi des fonctions db_sql_arg et db_prefix_table. Si la variable $name n'existe pas, ou en cas d'erreur, registry_get retourne la valeur donnée par $default qui vaut false par défaut.

registry_set
SYNOPSIS

registry_set($name, $value)

DESCRIPTION

registry_set enregistre la variable $name avec la valeur $value. Si $name est déjà enregistrée, sa valeur est remplacée.

registry_set retourne true, ou false en cas d'erreur.

CODE
  1. }
  2.  
  3. function registry_set($name, $value) {
  4.     $sqlname=db_sql_arg($name, false);
  5.     $sqlvalue=db_sql_arg(serialize($value), true);
  6.  
  7.     $tabregistry=db_prefix_table('registry');

registry_set exécute une requête SQL qui ajoute la variable $name avec la valeur sérialisée de $value dans la table registry. Si $name est déjà enregistrée dans la table, la requête SQL effectue une mise à jour de sa valeur.

registry_delete
SYNOPSIS

registry_delete($name)

DESCRIPTION

registry_delete supprime la variable précédemment enregistrée avec le nom $name.

registry_delete retourne true, ou false en cas d'erreur.

CODE
  1.  
  2.     $r = db_insert($sql);
  3.  
  4.     if ($r) {
  5.         return true;
  6.     }

registry_delete exécute une requête SQL qui détruit la variable $name dans la table registry.

VOIR AUSSI

db, cron

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].