mwstake / mediawiki-component-manifestregistry
提供类和服务以与 MediaWiki 清单中的注册表交互
2.1.3
2023-04-18 11:34 UTC
Requires
Requires (Dev)
- jakub-onderka/php-console-highlighter: 0.4.0
- jakub-onderka/php-parallel-lint: 1.0.0
- mediawiki/mediawiki-codesniffer: 29.0.0
- mediawiki/minus-x: 1.0.0
This package is auto-updated.
Last update: 2024-09-11 08:18:07 UTC
README
MediaWiki 的 ManifestRegistry
提供对 extension.json
文件中 attribute
部分注册的所有项目的综合注册表。
此代码旨在在 MediaWiki 应用程序上下文中执行。不打算单独使用。
在 MediaWiki 扩展中使用
将 "mwstake/mediawiki-component-manifestregistry": "~2.0"
添加到您的 composer.json
文件的 require
部分。
从 2.0 版本开始需要显式初始化。这可以通过以下方式实现:
- 在您的
extension.json
/skin.json
中添加"callback": "mwsInitComponents"
- 或者在您扩展/皮肤的自定义
callback
方法中调用mwsInitComponents();
也请参阅 mwstake/mediawiki-componentloader
.
在 extension.json 中注册值
{ "attributes": { "BlueSpiceFoundation": { "RoleRegistry": { "admin": "\\BlueSpice\\Permission\\Role\\Admin::factory", "editor": "\\BlueSpice\\Permission\\Role\\Editor::factory", "reader": "\\BlueSpice\\Permission\\Role\\Reader::factory", "author": "\\BlueSpice\\Permission\\Role\\Author::factory", "reviewer": "\\BlueSpice\\Permission\\Role\\Reviewer::factory", "accountmanager": "\\BlueSpice\\Permission\\Role\\AccountManager::factory" } }, "BlueSpicePrivacy": { "CookieConsentNativeMWCookies": { "notificationFlag": { "group": "necessary", "addPrefix": true } } } }, "manifest_version": 2, }
在您的代码中实现
$factory = \MediaWiki\MediaWikiServices::getInstance()->getService( 'MWStakeManifestRegistryFactory' ); $registry = $factory->get( 'MyExtensionMyRegistry' ); $myValues = $registry->getValue( 'subValue' ); $allMyValues = $registry->getAllValues();
配置
mwsgManifestRegistryOverrides
: 用于通过添加、删除或合并其值来覆盖现有注册表
示例 1
$GLOBALS['mwsgManifestRegistryOverrides']['MyRegistry'] = [ 'set' => [ 'ReplaceKey' => 'with new value', ], 'merge' => [ 'AddThisKey' => 'with this value', ], 'remove' => [ 'keyOfValueThatShouldBeRemoved' ] ]