aboutsummaryrefslogtreecommitdiffstats
path: root/includes/Hook/ParserTestGlobalsHook.php
diff options
context:
space:
mode:
authorTim Starling <tstarling@wikimedia.org>2020-03-04 09:50:34 +1100
committerTim Starling <tstarling@wikimedia.org>2020-04-20 13:31:05 +1000
commitf5aaf75ad15813bfeb93dcb4e5fbaaa52b23c7fe (patch)
tree1598e7d4c3d1e6d2914de4ae61ca01b2cbd3f470 /includes/Hook/ParserTestGlobalsHook.php
parentcedee2b62058a3834c2d883eeeecc2707eed9c93 (diff)
downloadmediawikicore-f5aaf75ad15813bfeb93dcb4e5fbaaa52b23c7fe.tar.gz
mediawikicore-f5aaf75ad15813bfeb93dcb4e5fbaaa52b23c7fe.zip
Automatically generated hook interfaces
Add hook interfaces which were generated by a script which parses hooks.txt and identifies caller namespaces and directories. Hook interfaces are mostly placed in a Hook/ subdirectory relative to the caller location. When there are callers in multiple directories, a "primary" caller was manually selected. The exceptions to this are: * The source root, maintenance and tests, which use includes/Hook. Test hooks need to be autoloadable in a non-test request so that implementing test interfaces in a generic handler will not fail. * resources uses includes/resourceloader/Hook * The following third-level subdirectories had their hooks placed in the parent ../Hook: * includes/filerepo/file * includes/search/searchwidgets * includes/specials/forms * includes/specials/helpers * includes/specials/pagers Parameters marked as legacy references in hooks.txt are passed by value in the interfaces. Bug: T240307 Change-Id: I6efe2e7dd1f0c6a3d0f4d100a4c34e41f8428720
Diffstat (limited to 'includes/Hook/ParserTestGlobalsHook.php')
-rw-r--r--includes/Hook/ParserTestGlobalsHook.php20
1 files changed, 20 insertions, 0 deletions
diff --git a/includes/Hook/ParserTestGlobalsHook.php b/includes/Hook/ParserTestGlobalsHook.php
new file mode 100644
index 000000000000..d8cf22f9f357
--- /dev/null
+++ b/includes/Hook/ParserTestGlobalsHook.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace MediaWiki\Hook;
+
+/**
+ * @stable for implementation
+ * @ingroup Hooks
+ */
+interface ParserTestGlobalsHook {
+ /**
+ * Allows to define globals for parser tests.
+ *
+ * @since 1.35
+ *
+ * @param ?mixed &$globals Array with all the globals which should be set for parser tests.
+ * The arrays keys serve as the globals names, its values are the globals values.
+ * @return bool|void True or no return value to continue or false to abort
+ */
+ public function onParserTestGlobals( &$globals );
+}