Manual:Configuration for developers/fr


 * Pour la documentation concernant la configuration de MediaWiki, voir le manuel de Configuration.

Ceci est un guide pour les développeurs du noyau et des extensions à propos de la création et de l'accès aux paramètres de configuration.



Pour le noyau
Pour accéder à un paramètre de configuration tel que :

Si vous avez accès à aucun objet ContextSource, vous pouvez obtenir un objet Config avec :

Ceci ne doit pas être utilisé pour récupérer des objets de variable globale comme ou.



Configuration utilisant (recommandée)
Les extensions qui ont un fichier  doivent initialiser les paramètres de configuration tel qu'il est écrit dans cette section.

Si votre extension s'appelle, dans   vous écrirez :

En PHP, lorsque vous souhaitez les valeurs de vos paramètres de configuration :

Si le préfixe des clés de votre configuration n'est pas la valeur par défaut wg, vous pouvez l'indiquer avec la clé  ou , en fonction de la version du schéma (voir la documentation). Vous devez vous assurer qu'il n'y a pas de collision avec les paramètres d'une autre extension.

Il est très recommandé que le nom de la clé de configuration commence par le nom de votre extension (comme dans l'exemple), pour s'assurer que la clé de configuration est unique, parmi toutes les clés de toutes les applications. Si vous ne le faites pas, c'est mal car vous risquez de casser le fonctionnement des attributs.



Configuration utilisant les variables globales
Si vous le pouvez, utilisez le fichier  pour la configuration (voir ci-dessus). Sinon, utilisez le code suivant (ne fonctionne qu'avec des variables préfixées par ) :



Préfixes personnalisés
Dans le passé, certaines extensions utilisaient eg au lieu de wg. Nous voulons nous débarrasser des préfixes, mais il est toujours possible de les utiliser :

Si vous utilisez l'enregistrement des extensions, il existe un champ  ou   (fonction de la version du schéma) dont vous pouvez vous servir à la place.

Tests
En phase de débogage, utilisez ce qui suit pour tester que vous accédez bien à la bonne instance de Config. Vous devez le faire en remplacement du $wgConfigRegistry évoqué dans la section concernant les extensions ci-dessus.

Si vous accédez à la mauvaise instance de Config, un sera généré.

Pour modifier les paramètres de configuration dans les tests PhpUnit des extensions en utilisant manifest version 1 (ou dans le noyau MediaWiki), vous pouvez écrire ceci dans les cas de tests qui étendent MediaWikiIntegrationTestCase :



Modification des paramètres de configuration par programme
La seule implémentation de Config qui supporte la est, qui est principalement utilisée lors des tests.

Une façon de modifier les valeurs à partir du service MainConfig est d'utiliser l'accroche, mais cela n'est pas recommandé. A la place, utiliser une accroche qui permette la modification plus étendue et plus explicite des valeurs correspondantes.



Mise à jour d'une version antérieure à MediaWiki 1.23
En MediaWiki 1.23 une nouvelle interface  a été introduite pour accéder aux options de configuration. Ceci nous permet de faire abstraction des serveurs sur lesquels les options de configuration sont enregistrées.

Le code d'avant la 1.23 est similaire à :

Le code à partir de la 1.23 doit avoir la forme suivante :

Vous remarquerez quelques modifications ici :
 * Utiliser pour obtenir l'objet   par défaut. La plupart des contextes implémentent.
 * Plutôt que de vérifier wgFoo, demandez à l'objet Config Foo, sans aucun préfixe wg.



Voir aussi

 * Manuel $wgConfigRegistry
 * Manuel Config.php
 * Présentation Legoktm au MediaWiki Developer Summit de 2015