Příručka:$wgExtensionFunctions
Rozšíření: $wgExtensionFunctions | |
---|---|
Seznam funkcí zpětného volání, které se nazývají jednou MediaWiki, je plně inicializován. |
|
Zavedeno od verze: | 1.3.0 (r3583) |
Odstraněno od verze: | stále se používá |
Povolené hodnoty: | Blíže neurčeno |
Výchozí hodnota: | [] |
Další nastavení: Podle abecedy | Podle funkce |
Podrobnosti
Tato proměnná je pole, které ukládá funkce, které se mají volat po dokončení většiny inicializace MediaWiki.
Všimněte si však, že v tomto okamžiku není požadavek Context ještě plně nastaven, takže pokus o jeho použití (nebo ekvivalentní globály, jako je $wgUser
nebo $wgTitle
), může selhat zvláštním způsobem.
Pokud potřebujete použít RequestContext, zvažte místo toho háček BeforeInitialize a ApiBeforeMain
Všimněte si také, že určité konfigurační proměnné mohou být již v tomto bodě zpracovány a jejich změna může být nebezpečná. Přestože v současné době neexistuje žádné specializované místo pro změnu konfigurace, háček MediaWikiServices je lepší volbou než funkce rozšíření.
Tato proměnná by měla být použita pro konečný krok inicializace prodlužovacího kódu, který musí provádět pokročilé věci, jako je použití globálních funkcí a instanci autoloaded tříd. Obvykle má každé rozšíření s sebou jednu funkci nastavení. Dotčený prvek pole je obvykle definován v samotném rozšíření, s příkazem formuláře kompatibilního s call_user_func() php funkce:
$wgExtensionFunctions[] = "functionName";
$wgExtensionFunctions[] = array( $classInstance, 'functionName' );
$wgExtensionFunctions[] = array( 'ClassName', 'staticFunctionName' );
$wgExtensionFunctions[] = 'ClassName::staticFunctionName';
Každá funkce nastavení se poté vyvolá z /includes/Setup.php .
Pokud například vaše přípona potřebuje během jeho inicializace přistupovat k databázi:
function initMyExtension() {
$dbr = wfGetDB( DB_REPLICA );
$myExtension = new MyExtension();
$myExtension->loadSettingsFromDatabase( $dbr );
}