Manual:$wgExtensionFunctions
Extensiones: $wgExtensionFunctions | |
---|---|
Una lista de las funciones de devolución de llamada que se hacen una vez que MediaWiki está totalmente inicializado. |
|
Introducido en la versión: | 1.3.0 (r3583) |
Eliminado en la versión: | aún se usa |
Valores permitidos: | no especificado |
Valor predeterminado: | [] |
Otras configuraciones: Alfabéticamente | Por Función |
Detalles
Esta variable es una matriz que almacena las funciones que se llamarán después de que la mayor parte de la inicialización de MediaWiki se ha completado. Tenga en cuenta sin embargo, que en este punto el RequestContext aún no está totalmente establecido, por lo que intentar usarlo (o los equivalentes globales, tales como $wgUser o $wgTitle) es susceptible de fallo de forma extraña. Si necesita utilizar el RequestContext, considere utilizar BeforeInitialize y ApiBeforeMain en su lugar.
Tenga en cuenta también que ciertas variables de configuración podría haber sido ya procesado en este punto y cambiándolas podría no ser seguro. While there is currently no dedicated place for changing configuration, the MediaWikiServices hook is a better option than extension functions.
Esta variable se debe utilizar para la última etapa de inicialización del código de configuración de extensión que necesita para llevar a cabo acciones avanzadas, como el uso de funciones globales y crear instancias de clases a cargar automáticamente. Típicamente, cada extensión tiene una función de configuración asociada con ella. El elemento de la matriz en cuestión se define típicamente en el archivo de extensión de sí mismo, con un enunciado de la forma compatible con la función PHP call_user_func():
$wgExtensionFunctions[] = "functionName";
$wgExtensionFunctions[] = array( $classInstance, 'functionName' );
$wgExtensionFunctions[] = array( 'ClassName', 'staticFunctionName' );
$wgExtensionFunctions[] = 'ClassName::staticFunctionName';
Cada función de configuración se denomina a continuación, a partir de /includes/Setup.php .
Por ejemplo, si su extensión necesita acceder a la base de datos durante la inicialización:
function initMyExtension() {
$dbr = wfGetDB( DB_REPLICA );
$myExtension = new MyExtension();
$myExtension->loadSettingsFromDatabase( $dbr );
}