mediawiki / mw-extension-registry-helper
MediaWiki ExtensionRegistry 的辅助函数
1.2.1
2019-10-08 19:58 UTC
Requires
- php: >=5.6
- mediawiki/mediawiki: >=1.27
Requires (Dev)
- phpunit/phpunit: 6.x
This package is auto-updated.
Last update: 2024-09-11 13:46:53 UTC
README
MediaWiki 扩展注册助手是一个小巧的库,允许在 MediaWiki 中递归加载皮肤和扩展。
要求
- PHP 5.6 或更高版本
- MediaWiki 1.27 或更高版本
安装
composer require "mediawiki/mw-extension-registry-helper:1.*"
使用方法
通常,其他扩展或皮肤的依赖应指定在您的扩展的 extension.json
中 [1]。如果无法做到这一点(例如,因为它们是条件依赖项,或者因为您的 MediaWiki 版本尚不支持依赖项要求),则可以使用此辅助函数的方法。
如果您的皮肤或扩展依赖于另一个扩展,请调用
\ExtensionRegistryHelper\ExtensionRegistryHelper::singleton()->loadExtensionRecursive( $extensionName, $pathToExtensionJson ),
如果您的皮肤或扩展依赖于另一个皮肤,请调用
\ExtensionRegistryHelper\ExtensionRegistryHelper::singleton()->loadSkinRecursive( $skinName, $pathToSkinJson ),
可以省略 extension.json
/skin.json
文件的路径。在这种情况下,将根据扩展或皮肤名称生成路径。
应仅从在您的 extension.json
中定义的回调函数中调用此辅助类的方法。如果您稍后调用它们,例如从 SetupAfterCache
钩子处理程序中调用,则递归加载的扩展的钩子处理程序可能不会被调用。
(遗憾的是,这无法强制执行,因为 ExtensionRegistry 的相应属性没有公开。)
请注意,此助手仅确保加载扩展/皮肤。由于 ExtensionRegistry 的内部机制,它无法强制按正确顺序加载。特别是,如果您依赖的扩展或皮肤已经排队等待加载,它将不会被推进队列以供使用。这通常发生在您的扩展和依赖的扩展都从 LocalSettings.php
加载,但顺序错误的情况下。
许可证
版权 2018 - 2019,Stephan Gambke
GNU 通用公共许可证,版本 3(或任何后续版本)