PHPackages                             mediawiki/mw-extension-registry-helper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mediawiki/mw-extension-registry-helper

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mediawiki/mw-extension-registry-helper
======================================

Helper functions for the MediaWiki ExtensionRegistry

1.2.1(6y ago)415.7k1[1 PRs](https://github.com/ProfessionalWiki/ExtensionRegistryHelper/pulls)GPL-3.0-or-laterPHPPHP &gt;=5.6CI failing

Since May 13Pushed 6y ago4 watchersCompare

[ Source](https://github.com/ProfessionalWiki/ExtensionRegistryHelper)[ Packagist](https://packagist.org/packages/mediawiki/mw-extension-registry-helper)[ Docs](https://github.com/cmln/mw-extension-registry-helper)[ RSS](/packages/mediawiki-mw-extension-registry-helper/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (6)Used By (0)

MediaWiki Extension Registry Helper
===================================

[](#mediawiki-extension-registry-helper)

[![Build Status](https://camo.githubusercontent.com/0d3507b0b928197b842dc6b20b4b24313de5598c01b9db6b0fb4b12587cc79f7/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f50726f66657373696f6e616c57696b692f457874656e73696f6e526567697374727948656c7065722f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/ProfessionalWiki/ExtensionRegistryHelper/build-status/master)[![Latest Stable Version](https://camo.githubusercontent.com/cc8461855750aa2028c3954eac25054a86ea6148fa5adc37d4403a1016e27326/68747470733a2f2f706f7365722e707567782e6f72672f6d6564696177696b692f6d772d657874656e73696f6e2d72656769737472792d68656c7065722f762f737461626c65)](https://packagist.org/packages/mediawiki/mw-extension-registry-helper)[![License](https://camo.githubusercontent.com/d71cd940ea9340fffd6b8b9e60430b4a50d9f21c38a37ffc60f5da3a45c47d00/68747470733a2f2f706f7365722e707567782e6f72672f6d6564696177696b692f6d772d657874656e73696f6e2d72656769737472792d68656c7065722f6c6963656e7365)](https://packagist.org/packages/mediawiki/mw-extension-registry-helper)

The MediaWiki Extension Registry Helper is a tiny library that allows recursive loading of skins and extensions in MediaWiki.

Requirements
------------

[](#requirements)

- PHP 5.6 or later
- MediaWiki 1.27 or later

Installation
------------

[](#installation)

```
composer require "mediawiki/mw-extension-registry-helper:1.*"
```

Usage
-----

[](#usage)

In general dependencies on other extensions or skins should be specified in the `extension.json` of your extension \[[1](https://www.mediawiki.org/wiki/Manual:Extension_registration#Requirements_(dependencies))\]. If that is not possible (e.g. because they are conditional dependencies or because your MediaWiki version does not support dependency requirements yet), the methods of this helper may be used.

If your skin or extension depends on another extension, call

```
\ExtensionRegistryHelper\ExtensionRegistryHelper::singleton()->loadExtensionRecursive( $extensionName, $pathToExtensionJson ),
```

If your skin or extension depends on another skin, call

```
\ExtensionRegistryHelper\ExtensionRegistryHelper::singleton()->loadSkinRecursive( $skinName, $pathToSkinJson ),
```

The paths to the `extension.json`/`skin.json` file may be ommitted. In this case a path will be generated from the extension or skin name.

The methods of this helper class should only be called from the callback function defined in your `extension.json`. If you call them later, e.g. from a `SetupAfterCache` hook handler, the hook handlers of the recursively loaded extensions may not get called.

(This is unfortunately not enforcable, as the respective property of ExtensionRegistry is not exposed.)

Be aware that this helper only ensures that extensions/skins are loaded. Due to the inner workings of the `ExtensionRegistry` it cannot enforce loading in the correct order. Particularly, if an extension or skin you depend on is already queued for loading, it will not be advanced in the queue to be available. This will commonly happen when both your extension and the extension it depends on are loaded from `LocalSettings.php`, but in the wrong order.

License
-------

[](#license)

Copyright 2018 - 2019, Stephan Gambke

[GNU General Public License, version 3](https://www.gnu.org/copyleft/gpl.html) (or any later version)

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 73.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~170 days

Total

4

Last Release

2408d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/451bd4039d530fed8f9c3da91bfa519233a397d2182cdfdcad700f6cfea19b7f?d=identicon)[Jeroen De Dauw](/maintainers/Jeroen%20De%20Dauw)

![](https://www.gravatar.com/avatar/05e03b274e4924bf511416ec2f343c76609b8f3856e1d7804fc96f1338ce5bc3?d=identicon)[s7eph4n](/maintainers/s7eph4n)

---

Top Contributors

[![s7eph4n](https://avatars.githubusercontent.com/u/2829850?v=4)](https://github.com/s7eph4n "s7eph4n (17 commits)")[![JeroenDeDauw](https://avatars.githubusercontent.com/u/146040?v=4)](https://github.com/JeroenDeDauw "JeroenDeDauw (6 commits)")

---

Tags

extensionextension-registrymediawikimediawiki

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mediawiki-mw-extension-registry-helper/health.svg)

```
[![Health](https://phpackages.com/badges/mediawiki-mw-extension-registry-helper/health.svg)](https://phpackages.com/packages/mediawiki-mw-extension-registry-helper)
```

###  Alternatives

[mediawiki/mediawiki-codesniffer

MediaWiki CodeSniffer Standards

332.9M317](/packages/mediawiki-mediawiki-codesniffer)[mediawiki/chameleon-skin

A highly flexible MediaWiki skin using Bootstrap 4

12481.8k2](/packages/mediawiki-chameleon-skin)[mediawiki/maps

Adds various mapping features to MediaWiki

84145.0k3](/packages/mediawiki-maps)[mediawiki/semantic-extra-special-properties

Provides extra special properties for Semantic MediaWiki

3074.6k1](/packages/mediawiki-semantic-extra-special-properties)[mediawiki/semantic-scribunto

A Semantic Mediawiki extension to natively support the Scribunto extension

2967.5k](/packages/mediawiki-semantic-scribunto)[professional-wiki/network

MediaWiki extension for adding interactive network visualizations to your wiki pages

3211.9k](/packages/professional-wiki-network)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
