Services webmasters
Partenaires
Jeux concours gratuits
 
Appeler des fonctions utilisateurs
<<<
Support du fichier d'initialisation File Support Par où continuer?
>>>

8 Développer PHP 4.0
 Manuel PHP

Introduction
Possibilités d'extension
Source Layout
Le système de squelette automatique de PHP
Créer une extension
Utiliser des extensions
Résolution de problèmes
Présentation des sources
Gestion des arguments
Créer des variables
Duplique le contenu d'une variable : le bâtisseur de copie.
Retourner des valeurs
Afficher des informations
Fonctions de démarrage et d'extinction
Appeler des fonctions utilisateurs
->Support du fichier d'initialisation File Support
Par où continuer?
Référence : quelques macros de configuration
API Macros

8.16 Support du fichier d'initialisation File Support

PHP 4 fournit un nouveau système pour le support du fichier d'initialisation. Il est possible de spécifier des valeurs par défaut d'option de configuration directement dans votre code, lire et modifier ces valeurs lors de l'exécution, et créer des gestionnaires pour être prévenu lors de modifications de ces options.

Pour créer une section .ini dans votre propre module, utilisez les macros PHP_INI_BEGIN() pour marquer le début de cette section, et PHP_INI_END() pour en marquer la fin. Entre les deux, vous pouvez utiliser PHP_INI_ENTRY() pour créer des entrées.


PHP_INI_BEGIN()
PHP_INI_ENTRY("premiere_entree_ini",  "une chaîne de caractères", PHP_INI_ALL, NULL)
PHP_INI_ENTRY("deuxieme_entree_ini", "2",                PHP_INI_SYSTEM, OnChangeSecond)
PHP_INI_ENTRY("troisieme_entree_ini",  "xyz",              PHP_INI_USER, NULL)
PHP_INI_END()
La macro PHP_INI_ENTRY() accepte quatre paramètres : le nom de l'option, la valeur, les droits de modification et un pointeur sur un gestionnaire de modification. Le nom et la valeur doivent êter spécifié sous forme de chaîne de caractères, quelque soit leur type réel.

Les droits sont regroupés en trois sections : PHP_INI_SYSTEM permet de modifier l'option uniquement dans le fichier php.ini ; PHP_INI_USER permet les modifications au moment de l'exécution, avec un fichier complémentaire de configuration qui remplace la configuration du php.ini , comme par exemple .htaccess ; et PHP_INI_ALL qui permet la modification de l'option sans aucune restriction. Il y a aussi un quatrième niveau de droits, PHP_INI_PERDIR , mais il n'est pas en service actuellement.

Le quatrième paramètre est constitué d'un pointeur sur un gestionnaire de modifications. A chaque fois que ces options de configurations sont modifiées, ce gestionnaire est appelé. Un tel gestionnaire doit être déclaré en utilisant la macro PHP_INI_MH :


PHP_INI_MH(OnChangeSecond);             // gestionnaire pour "deuxieme_entree_ini"

// spécifiez les entrées ici

PHP_INI_MH(OnChangeSecond)
{

    zend_printf("Message lu, notre option a été modifiée en %s<br>", new_value);

    return(SUCCESS);

}
La nouvelle valeur est fournie comme paramètre du gestionnaire, sous forme de chaîne de caractères, dans la variable new_value . Lorsque vous regardez la définition de PHP_INI_MH , vous trouvez plusieurs paramètres :

#define PHP_INI_MH(name) int name(php_ini_entry *entry, char *new_value,
                                  uint new_value_length, void *mh_arg1,
                                  void *mh_arg2, void *mh_arg3)
Toutes ces définitions sont accessibles dans le fichier php_ini.h . Votre gestionnaire de modification aura accès à la structure qui contient l'option complète, sa nouvelle valeur, sa longueur, et trois arguments optionnels. Ces arguments optionnels peuvent être spécifiés avec les macros PHP_INI_ENTRY1 (qui permet un argument supplémentaire), PHP_INI_ENTRY2 (qui permet deux arguments supplémentaires), et PHP_INI_ENTRY3 (qui permet trois arguments supplémentaires).

Le gestionnaire de modification doit être utiilsé pour mettre en cache les valeurs initiales localement, afin d'accélérer les accès ultérieurs, ou bien pour effectuer certaines tâches complémentaires. Par exemple, si une connexion permanante est nécessaire à un module, et que l'utilisateur en modifie le nom de serveur hôte, vous pourriez terminer automatiquement l'ancienne connexion et en ouvrir une autre.

L'accès aux options d'initilisation peut aussi être réalisé avec les macros suivantes :

Finalement, vous devez présenter vos options à PHP. Cela peut être fait dans lors du démarrage et d'extinction du module, en utilisant les macros REGISTER_INI_ENTRIES() et UNREGISTER_INI_ENTRIES() :


ZEND_MINIT_FUNCTION(mymodule)
{

    REGISTER_INI_ENTRIES();

}

ZEND_MSHUTDOWN_FUNCTION(mymodule)
{

    UNREGISTER_INI_ENTRIES();

}

Sommaire :

<< Support du fichier d'initialisation File Support >>
Appeler des fonctions utilisateurs Développer PHP 4.0 Par où continuer?
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -