Manuel:$wgExtensionFunctions
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 : | [] |
Autres paramètres : Alphabétique | Par Fonction |
Détails
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 );
}