From b01fbfeb40aa045a53cc38e3b57a5a6ebfced3ac Mon Sep 17 00:00:00 2001 From: DannyS712 Date: Mon, 19 Aug 2019 07:01:43 +0000 Subject: [PATCH] hooks.txt: Convert docs to modern extension registration style MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This changes the examples in hooks.txt from using the old format of manually entering additions into `wgHooks` to instead use the new `"Hooks“: {}` object format. Bug: T230397 Change-Id: I48a9986e4243eb933088d36b4bb095b345ab62fd --- docs/hooks.txt | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/docs/hooks.txt b/docs/hooks.txt index d832012df5..6207b12e2b 100644 --- a/docs/hooks.txt +++ b/docs/hooks.txt @@ -91,23 +91,29 @@ title-reversing if-blocks spread all over the codebase in showAnArticle, deleteAnArticle, exportArticle, etc., we can concentrate it all in an extension file: - function reverseArticleTitle( $article ) { + function onArticleShow( &$article ) { # ... } - function reverseForExport( $article ) { + function onArticleDelete( &$article ) { # ... } -The setup function for the extension just has to add its hook functions to the -appropriate events: - - setupTitleReversingExtension() { - global $wgHooks; + function onArticleExport( &$article ) { + # ... + } - $wgHooks['ArticleShow'][] = 'reverseArticleTitle'; - $wgHooks['ArticleDelete'][] = 'reverseArticleTitle'; - $wgHooks['ArticleExport'][] = 'reverseForExport'; +General practice is to have a dedicated file for functions activated by hooks, +which functions named 'onHookName'. In the example above, the file +'ReverseHooks.php' includes the functions that should be activated by the +'ArticleShow', 'ArticleDelete', and 'ArticleExport' hooks. The 'extension.json' +file with the extension's registration just has to add its hook functions +to the appropriate events: + + "Hooks": { + "ArticleShow": "ReverseHooks:onArticleShow", + "ArticleDelete": "ReverseHooks::onArticleDelete", + "ArticleExport": "ReverseHooks::onArticleExport" } Having all this code related to the title-reversion option in one place means -- 2.20.1