Services webmasters
Partenaires
Jeux concours gratuits
 
Retourner des valeurs complexes
<<<
Utiliser la liste des ressources Utiliser la table des ressources persistantes.
>>>

11.5.1 Créer une fonction PHP 3
11.5 Développement PHP
11 Appendices
 Manuel PHP

Prototypes de fonctions
Arguments de fonctions
Fonctions à nombre d'arguments variable
Utiliser les arguments d'une fonction
Gestion de la mémoire dans une fonction
Affecter une variable dans la table des symboles
Retourne une valeur simple
Retourner des valeurs complexes
->Utiliser la liste des ressources
Utiliser la table des ressources persistantes.
Ajouter des directives de configuration à l'exécution

11.5.1.9 Utiliser la liste des ressources

PHP 3.0 dispose de standards pour traiter un certains nombre de ressources. Ils remplacent tous les listes de PHP 2.0.

Fonctions accessibles :

  • php3_list_insert(ptr, type) - retourne l'identifiant 'id' de la nouvelle ressource insérée.
  • php3_list_delete(id) - efface la ressource d'identifiant id
  • php3_list_find(id,*type) - retourne le pointeur de la ressource d'identifiant id, et modifie le type 'type'
Typiquement, ces fonctions sont utilisées pour les pilotes SQL, mais elles peuvent servir n'importe quoi d'autre. Par exemple, conserver un pointeur de fichier.

La liste standard de code ressemble à ceci :

Ajouter une nouvelle ressource

RESOURCE *resource;
/* ...alloue de la mémoire pour la ressource, et l'acquiert ... */
/* Ajoute la nouvelle ressource dans la liste */
return_value->value.lval = php3_list_insert((void *) resource, LE_RESOURCE_TYPE);
return_value->type = IS_LONG;
Utiliser une ressource existante

pval *resource_id;
RESOURCE *resource;
int type;
convert_to_long(resource_id);
resource = php3_list_find(resource_id->value.lval, &type);
if (type != LE_RESOURCE_TYPE) {
    php3_error(E_WARNING,"resource index %d has the wrong type",resource_id->value.lval);
    RETURN_FALSE;
}
/* ...utiliser la ressource... */
Effacer une ressource existante

pval *resource_id;
RESOURCE *resource;
int type;
convert_to_long(resource_id);
php3_list_delete(resource_id->value.lval);
Les types de ressources doivent être enregistré dans le fichier php3_list.h, dans l'énumération list_entry_type. En plus, il faut penser à ajouter une fonction de terminaison, pour chaque type de ressource défini, dans le fichier list.c, pour la fonction list_entry_destructor() (même si vous n'avez rien de particulier à faire lors de la terminaison, vous devez au moins ajouter un cas vide.

<< Utiliser la liste des ressources >>
Retourner des valeurs complexes Créer une fonction PHP 3 Utiliser la table des ressources persistantes.
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -