Kézikönyv:$wgExtensionFunctions

This page is a translated version of the page Manual:$wgExtensionFunctions and the translation is 87% complete.
Outdated translations are marked like this.
Kiterjesztések: $wgExtensionFunctions
A MediaWiki teljes inicializációja után meghívandó funkciók listája.
Bevezetve:1.3.0 (r3583)
Eltávolítva:használatban
Megengedett értékek:nincs megadva
Alapértelmezett érték:[]

Részletek

A beállítás általánosságban egy hacknek tekinthető, hogy ha valami hiba történik, akár a MediaWikiben, akár a kiterjesztésekben, akkor helyre lehessen azt állítani.

A változó értéke egy tömb, amelyben a MediaWiki inicializációja után meghívandó funkciók találhatók. Jelenleg a RequestContext nem működik teljes körűen, így ennek (vagy az ezzel megegyező globális változók, például a $wgUser vagy $wgTitle) használata furcsa hibákat eredményezhet. Ha szükséged van a RequestContext használatára, fontold meg helyette a BeforeInitialize és a ApiBeforeMain hookok használatát.

Vedd figyelembe, hogy egyes konfigurációs változók feldolgozásra kerülhettek, így módosításuk nem feltétlenül biztonságos. While there is currently no dedicated place for changing configuration, the MediaWikiServices hook is a better option than extension functions.

A változót a haladó műveleteket végző kiterjesztések beállítási kódja inicializálásának utolsó lépéseként kell használni, mint a globális funkciók vagy automatikusan betöltődő osztályok esetén. Általában minden kiterjesztéshez tartozik egy beállítási funkció. A tömb elemei általában a kiterjesztés fájljában vannak definiálva a call_user_func() PHP-funkcióval kompatibilis formában.

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

Ezután minden beállítási funkció meghívása az /includes/Setup.php -ból történik.

Például, ha a kiterjesztésednek szüksége van adatbázis-hozzáférésre az inicializáció során, az alábbi forma használatos:

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

Lásd még