{"id":15023162,"url":"https://github.com/professionalwiki/extensionregistryhelper","last_synced_at":"2025-10-26T04:31:03.235Z","repository":{"id":57016745,"uuid":"133264113","full_name":"ProfessionalWiki/ExtensionRegistryHelper","owner":"ProfessionalWiki","description":"Provides helper functions for MediaWiki's ExtensionRegistry","archived":false,"fork":false,"pushed_at":"2020-04-11T02:39:57.000Z","size":34,"stargazers_count":4,"open_issues_count":3,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-30T03:39:57.458Z","etag":null,"topics":["extension","extension-registry","mediawiki"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ProfessionalWiki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-13T18:33:11.000Z","updated_at":"2020-05-07T12:25:57.000Z","dependencies_parsed_at":"2022-08-22T09:30:27.393Z","dependency_job_id":null,"html_url":"https://github.com/ProfessionalWiki/ExtensionRegistryHelper","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FExtensionRegistryHelper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FExtensionRegistryHelper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FExtensionRegistryHelper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FExtensionRegistryHelper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProfessionalWiki","download_url":"https://codeload.github.com/ProfessionalWiki/ExtensionRegistryHelper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238259008,"owners_count":19442512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["extension","extension-registry","mediawiki"],"created_at":"2024-09-24T19:58:47.244Z","updated_at":"2025-10-26T04:30:57.923Z","avatar_url":"https://github.com/ProfessionalWiki.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MediaWiki Extension Registry Helper\n\n[![Build Status](https://scrutinizer-ci.com/g/ProfessionalWiki/ExtensionRegistryHelper/badges/build.png?b=master)](https://scrutinizer-ci.com/g/ProfessionalWiki/ExtensionRegistryHelper/build-status/master)\n[![Latest Stable Version](https://poser.pugx.org/mediawiki/mw-extension-registry-helper/v/stable)](https://packagist.org/packages/mediawiki/mw-extension-registry-helper)\n[![License](https://poser.pugx.org/mediawiki/mw-extension-registry-helper/license)](https://packagist.org/packages/mediawiki/mw-extension-registry-helper)\n\nThe MediaWiki Extension Registry Helper is a tiny library that allows recursive \nloading of skins and extensions in MediaWiki.\n\n## Requirements\n\n- PHP 5.6 or later\n- MediaWiki 1.27 or later\n\n## Installation\n\n```bash\ncomposer require \"mediawiki/mw-extension-registry-helper:1.*\"\n```\n\n## Usage\n\nIn general dependencies on other extensions or skins should be specified in the\n`extension.json` of your extension\n[[1](https://www.mediawiki.org/wiki/Manual:Extension_registration#Requirements_(dependencies))].\nIf that is not possible (e.g. because they are conditional dependencies or\nbecause your MediaWiki version does not support dependency requirements yet),\nthe methods of this helper may be used.\n\nIf your skin or extension depends on another extension, call\n```php\n\\ExtensionRegistryHelper\\ExtensionRegistryHelper::singleton()-\u003eloadExtensionRecursive( $extensionName, $pathToExtensionJson ),\n```\n\nIf your skin or extension depends on another skin, call\n```php\n\\ExtensionRegistryHelper\\ExtensionRegistryHelper::singleton()-\u003eloadSkinRecursive( $skinName, $pathToSkinJson ),\n```\n\nThe paths to the `extension.json`/`skin.json` file may be ommitted. In this case\na path will be generated from the extension or skin name. \n\nThe methods of this helper class should only be called from the callback\nfunction defined in your `extension.json`. If you call them later, e.g. from a\n`SetupAfterCache` hook handler, the hook handlers of the recursively loaded\nextensions may not get called.\n\n(This is unfortunately not enforcable, as the respective property of\nExtensionRegistry is not exposed.)\n\nBe aware that this helper only ensures that extensions/skins are loaded. Due to\nthe inner workings of the `ExtensionRegistry` it cannot enforce loading in the\ncorrect order. Particularly, if an extension or skin you depend on is already\nqueued for loading, it will not be advanced in the queue to be available.\nThis will commonly happen when both your extension and the extension it depends \non are loaded from `LocalSettings.php`, but in the wrong order.\n\n\n## License\n\nCopyright 2018 - 2019, Stephan Gambke\n\n[GNU General Public License, version 3](https://www.gnu.org/copyleft/gpl.html) (or any later version)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessionalwiki%2Fextensionregistryhelper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofessionalwiki%2Fextensionregistryhelper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessionalwiki%2Fextensionregistryhelper/lists"}