【问题标题】:How do I check if a MediaWiki extension is installed from within another extension?如何检查是否从另一个扩展中安装了 MediaWiki 扩展?
【发布时间】:2019-05-31 12:41:36
【问题描述】:

我目前正在开发一个 MediaWiki 扩展,该扩展需要“Arrays”扩展来实现某些功能。如果未安装数组扩展,我的扩展在尝试使用上述功能时应该给出友好的警告。

如何检查一个扩展是否是从另一个扩展中安装的?

【问题讨论】:

    标签: php mediawiki mediawiki-extensions


    【解决方案1】:

    好的方法是ExtensionRegistry::getInstance()->isLoaded( 'Arrays' )。这仅适用于使用 extension registration(Arrays 使用)的扩展。否则,您可以检查是否可以加载该扩展中的某个类。

    【讨论】:

    • 这告诉我们扩展是否已经加载,而不是它是否存在于文件系统中。
    • 你为什么要关心它是否存在于文件系统中?如果未加载,则依赖它的其他扩展将中断,无论文件是否存在。
    • OP 可能不在乎,但我在乎,这就是我在看这个问题的原因。我为安装了不同扩展集的不同 wiki 使用相同的配置文件,因此我需要根据它们是否已安装(存在于文件系统上)进行一些配置(例如加载它们)。
    猜你喜欢
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    相关资源
    最近更新 更多