mediawiki/mw-extension-registry-helper

MediaWiki ExtensionRegistry 的辅助函数

1.2.1 2019-10-08 19:58 UTC

This package is auto-updated.

Last update: 2024-09-11 13:46:53 UTC


README

Build Status Latest Stable Version License

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(或任何后续版本)