MediaWiki master
MediaWiki\Hook\MediaWikiServicesHook Interface Reference

This is a hook handler interface, see docs/Hooks.md. More...

Inherited by MediaWiki\HookContainer\HookRunner.

Public Member Functions

 onMediaWikiServices ( $services)
 This hook is called when a global MediaWikiServices instance is initialized.
 

Detailed Description

This is a hook handler interface, see docs/Hooks.md.

Use the hook name "MediaWikiServices" to register handlers implementing this interface.

Warning
Implementations of this interface must not have services injected into their constructor! This is because this hook runs while the service container is still being initialized, so any services it asks for might get instantiated based on incomplete configuration and wiring.
Stability: stable
to implement

Definition at line 19 of file MediaWikiServicesHook.php.

Member Function Documentation

◆ onMediaWikiServices()

MediaWiki\Hook\MediaWikiServicesHook::onMediaWikiServices ( $services)

This hook is called when a global MediaWikiServices instance is initialized.

Extensions may use this to define, replace, or wrap services. However, the preferred way to define a new service is the $wgServiceWiringFiles array.

Warning
Implementations must not immediately access services instances from the service container $services, since the service container is not fully initialized at the time when the hook is called. However, callbacks that are used as service instantiators or service manipulators may access service instances.

Example:

function onMediaWikiServices( $services ) {
// The service wiring and configuration in $services may be incomplete at this time,
// do not access services yet!
// At this point, we can only manipulate the wiring, not use it!
$services->defineService(
'MyCoolService',
function( MediaWikiServices $container ) {
// It's ok to access services inside this callback, since the
// service container will be fully initialized when it is called!
return new MyCoolService( $container->getPageLookup() );
}
);
$services->addServiceManipulator(
'SlotRoleRegistry',
function ( SlotRoleRegistry $service, MediaWikiServices $container ) {
// ...
}
);
$services->redefineService(
'StatsdDataFactory',
function ( MediaWikiServices $container ) {
// ...
}
);
}
Service locator for MediaWiki core services.
A registry service for SlotRoleHandlers, used to define which slot roles are available on which page.
Since
1.35
Parameters
MediaWikiServices$services
Returns
bool|void True or no return value to continue or false to abort

Implemented in MediaWiki\HookContainer\HookRunner.


The documentation for this interface was generated from the following file: