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 ) { * // ... * } * ); * } * @endcode * * @since 1.35 * * @param MediaWikiServices $services * @return bool|void True or no return value to continue or false to abort */ public function onMediaWikiServices( $services ); }