Manual:$wgExtensionFunctions

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:$wgExtensionFunctions and the translation is 100% complete.

Other languages:
English • ‎español • ‎français • ‎magyar • ‎русский • ‎日本語
Extensions: $wgExtensionFunctions
Une liste de fonctions de rappel (callback) appelées une fois que MediaWiki est complètement initialisé.
Introduit dans la version :1.3.0 (r3583)
Retiré dans la version :Encore utilisé
Valeurs autorisées :Non renseigné
Valeur par défaut :[]

Détails

En général, l'utilisation de cette fonctionalité est une bidouille qui suggère que quelque chose ne fonctionne pas correctement quelquepart, soit dans le coeur de MediaWiki, soit dans les extensions. Elle doit être évitée.

Cette variable est un tableau qui contient les fonctions à appeler lorsque l'initialisation de MediaWiki est quasiment terminée. Notez néanmoins qu'à ce point, le RequestContext n'est pas encore complètement initialisé, donc son utilisation (ou l'utilisation des variables globales équivalentes telles que $wgUser ou $wgTitle ) est succeptible d'échouer de façons très diverses. Si vous avez besoin d'utiliser le RequestContext, prenez en compte les accroches BeforeInitialize et ApiBeforeMain à la place.

Notez aussi que certaines variables de configuration peuvent déjà avoir été prises en compte à ce point et les modifier pourrait provoquer des instabilités. Pour les extensions qui utilisent Manuel:Enregistrement d’extensions , la fonction de rappel est une meilleure option si on veut modifier la configuration. Pour les autres extensions, SetupAfterCache est probablement le meilleur pari.

Cette variable doit être utilisée dans la dernière étape d'initialisation du code de démarrage de l'extension où on fait les tâches avancées, comme utiliser les fonctions globales et instancier les classes auto-chargées. Typiquement chaque extension possède une fonction d'initialisation qui lui est associée. L'élément tableau concerné est généralement défini dans le fichier de l'extension elle-même, par une déclaration de forme compatible avec les fonctions PHP call_user_func() :

$wgExtensionFunctions[] = "functionName";
$wgExtensionFunctions[] = array( $classInstance, 'functionName' );
$wgExtensionFunctions[] = array( 'ClassName', 'staticFunctionName' );
$wgExtensionFunctions[] = 'ClassName::staticFunctionName';

Chaque fonction d'initialisation est ensuite appelée de /includes/Setup.php .

Par exemple, si votre extension a besoin d'accéder à la base de données pendant son initialisation :

function initMyExtension() {
      $dbr = wfGetDB( DB_REPLICA );
      $myExtension = new MyExtension();
      $myExtension->loadSettingsFromDatabase( $dbr );
}

Voir aussi