Available from version 1.17.0 (r71576, codereview)
For extensions adding their own namespaces or altering the defaults.
Define function:
public static function onCanonicalNamespaces( array &$namespaces ) { ... }
Attach hook: In extension.json:
	"Hooks": {
		"CanonicalNamespaces": "MyExtensionHooks::onCanonicalNamespaces"
Called from: File(s): MWNamespace.php
Interface: CanonicalNamespacesHook.php

For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:CanonicalNamespaces extensions.

To define new namespaces, extensions should prefer extension registration over this hook (more information ).

Details edit

  • &$namespaces: Array of namespace numbers with corresponding canonical names

This hook has replaced $wgExtraNamespaces.