Manual:Hooks/es

Los Hooks brindan un mecanismo en mediawiki muy poderoso para los desarrolladores de extensiones permitiendo modificar el comportamiento de MediaWiki, minimizando la necesidad de modificar el código base. Los Hooks permiten que se ejecute código específico cuando se presenta determinado evento (como guardar una página o a la entrada de usuario). Por ejemplo, el siguiente código snippet invocará a la función  siempre que se ejecute el hook , pasando los argumentos específicos para  PageContentSaveComplete:

""

Mediawiki proporciona diversos hooks como este para extender su funcionalidad. Asignar una función (un handler conocido como gestor o manejador de eventos) a un hook produce que dicha función sea invocada en el punto apropiado para ejecutar las tareas adicionales que se desean realizar. Cada hook puede tener asignados múltiples handlers, en ese caso, invocará las funciones en el orden que han sido asignadas, por lo que cualquier modificación realizada por una función pasará en cadena a las funciones subsecuentes.

Asignar funciones a los hooks al final del archivo de configuración LocalSettings o en alguna extensión su archivo (no en $wgExtensionFunctions o en el hook ParserFirstCallInit). Para extensiones, si el comportamiento del hook esta condicionado en el archivo de configuración LocalSettings.php, el hook debe ser asignado y su función deberá terminar tempranamente si la condición para su ejecución no se cumple.

Se pueden crear nuevos hooks particulares para las extensiones; al hacerlo, registralos en el registro de hooks en extensiones.

Antecedentes
Un hook se invoca por la llamada a la función Hooks::run (descrito en el archivo, y definido en el archivo GlobalFunctions.php). El primer argumento para Hook::run es el nombre del hook, el segundo es el arreglo de argumentos para dicho hook. Se ubican los gestores de eventos para la ejecución en el arreglo $wgHooks. Esta hace un llamado a la función en PHP call_user_func_array con los argumentos establecidos.