Base de registre : Différence entre versions
(→API php) |
(→API php) |
||
| Ligne 14 : | Ligne 14 : | ||
== API php == | == API php == | ||
| − | La fonction bab_getRegistryInstance est disponible dans tout ovidentia (fichier addonapi.php), elle permet d'obtenir l'instance de l'objet pour utiliser la base de registre. | + | La fonction <code>bab_getRegistryInstance</code> est disponible dans tout ovidentia (fichier addonapi.php), elle permet d'obtenir l'instance de l'objet pour utiliser la base de registre. |
exemple : | exemple : | ||
| Ligne 22 : | Ligne 22 : | ||
</source> | </source> | ||
| − | $instance est un objet bab_registry | + | $instance est un objet <code>bab_registry</code> |
| Ligne 28 : | Ligne 28 : | ||
=== $instance->changeDirectory($dir) === | === $instance->changeDirectory($dir) === | ||
| − | Cette méthode permet de se déplacer dans l'arborescence de la base de registre, $dir est une chaîne de caractères | + | Cette méthode permet de se déplacer dans l'arborescence de la base de registre, <code>$dir</code> est une chaîne de caractères |
=== $instance->setKeyValue($key, $value) === | === $instance->setKeyValue($key, $value) === | ||
| − | Méthode utilisée pour créer une clef et une valeur, $key est une chaîne, et $value peut être un objet, un tableau, une chaîne, un nombre entier ou un nombre flottant. | + | Méthode utilisée pour créer une clef et une valeur, <code>$key</code> est une chaîne, et $value peut être un objet, un tableau, une chaîne, un nombre entier ou un nombre flottant. |
| − | $key ne doit pas contenir de / | + | <code>$key</code> ne doit pas contenir de '''/''' |
=== $instance->removeKey($key) === | === $instance->removeKey($key) === | ||
| − | Méthode pour supprimer une clef | + | Méthode pour supprimer une clef et sa valeur |
=== $instance->getValue($key, $default_create = null) === | === $instance->getValue($key, $default_create = null) === | ||
| − | Cette méthode permet d'obtenir une valeur enregistrée ou NULL si la clef n'existe pas, la valeur obtenue sera du même type que celle qui a été enregistrée. | + | Cette méthode permet d'obtenir une valeur enregistrée ou <code>NULL</code> si la clef n'existe pas, la valeur obtenue sera du même type que celle qui a été enregistrée. |
Si le deuxième paramètre et renseigné et que la valeur n'existe pas, c'est le deuxième paramètre qui sera utilisé comme valeur. la méthode retournera cette valeur et la clef sera crée dans la base de registre avec cette valeur. | Si le deuxième paramètre et renseigné et que la valeur n'existe pas, c'est le deuxième paramètre qui sera utilisé comme valeur. la méthode retournera cette valeur et la clef sera crée dans la base de registre avec cette valeur. | ||
| Ligne 48 : | Ligne 48 : | ||
=== $instance->getValueEx($key) === | === $instance->getValueEx($key) === | ||
| − | Cette méthode retourne un tableau avec des informations complémentaires sur la clef | + | Cette méthode retourne un tableau avec des informations complémentaires sur la clef. |
| + | |||
| + | Les clef suivantes pourront être utilisées : | ||
| + | |||
| + | * <code>value</code> : la valeur de la clef | ||
| + | * <code>create_id_user</code> : l'ID de l'utilisateur qui a crée la clef | ||
| + | * <code>update_id_user</code> : l'ID du dernier utilisateur ayant modifié la valeur | ||
| + | * <code>createdate</code> : date de création de la clef | ||
| + | * <code>lastupdate</code> : date de la dernière modification de le clef | ||
=== $instance->deleteDirectory() === | === $instance->deleteDirectory() === | ||
Version du 22 avril 2009 à 13:55
Structure de la base de registre
La base de registre est un moyen de mémoriser des informations librement dans un arbre sans créer de table et sans utiliser mysql. La facilité d'utilisation est mise en avant au détriment des performances.
disposition des répertoires à la racine :
le répertoire bab/ contient toutes les clefs liées au noyau
un répertoire par module peut être créé
API php
La fonction bab_getRegistryInstance est disponible dans tout ovidentia (fichier addonapi.php), elle permet d'obtenir l'instance de l'objet pour utiliser la base de registre.
exemple :
<source lang="php"> $instance = bab_getRegistryInstance(); </source>
$instance est un objet bab_registry
$instance->changeDirectory($dir)
Cette méthode permet de se déplacer dans l'arborescence de la base de registre, $dir est une chaîne de caractères
$instance->setKeyValue($key, $value)
Méthode utilisée pour créer une clef et une valeur, $key est une chaîne, et $value peut être un objet, un tableau, une chaîne, un nombre entier ou un nombre flottant.
$key ne doit pas contenir de /
$instance->removeKey($key)
Méthode pour supprimer une clef et sa valeur
$instance->getValue($key, $default_create = null)
Cette méthode permet d'obtenir une valeur enregistrée ou NULL si la clef n'existe pas, la valeur obtenue sera du même type que celle qui a été enregistrée.
Si le deuxième paramètre et renseigné et que la valeur n'existe pas, c'est le deuxième paramètre qui sera utilisé comme valeur. la méthode retournera cette valeur et la clef sera crée dans la base de registre avec cette valeur.
$instance->getValueEx($key)
Cette méthode retourne un tableau avec des informations complémentaires sur la clef.
Les clef suivantes pourront être utilisées :
-
value: la valeur de la clef -
create_id_user: l'ID de l'utilisateur qui a crée la clef -
update_id_user: l'ID du dernier utilisateur ayant modifié la valeur -
createdate: date de création de la clef -
lastupdate: date de la dernière modification de le clef
$instance->deleteDirectory()
Permet d'effacer le répertoire en cours.
$instance->fetchChildDir()
Permet de parcourir les répertoires enfants, la méthode retourne le répertoire suivant
$instance->fetchChildKey()
Permet de parcourir les clefs enfants, la méthode retourne la clef suivante
Module regedit
le module regedit est en cours de développement (il est présent dans le CVS ovidentia)