laminas/laminas-component-installer

用于将模块和配置提供者注入应用程序配置的Composer插件


README

Build Status type-coverage Psalm level

🇷🇺 致俄罗斯公民

我们Laminas的成员来自不同的国家。我们中许多人有在俄罗斯和乌克兰的朋友、亲属和同事。我们中的一些人生于俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些人的祖父母曾在二战中与法西斯作战。在这里,没有人支持法西斯主义。

我们中的一位成员有一位乌克兰亲属,她带着儿子从家中逃离。由于前方道路上的轰炸,火车延误了。我们有朋友躲在防空洞里。我们在空袭后焦急地追踪他们的消息,这些空袭无差别地攻击医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些消息的。这是我们亲眼所见。

您足够信任我们使用我们的程序,我们请求您再次信任我们。我们需要您的帮助。走出去,抗议这场无意义的战争。停止杀戮。说“不,战争!”

🇺🇸 致俄罗斯公民

我们Laminas来自世界各地。我们中许多人有在俄罗斯和乌克兰的朋友、家人和同事。我们中的一些人生于俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些人的祖父母曾在二战中与纳粹作战。在这里,没有人支持法西斯主义。

我们团队的一名成员有一位乌克兰亲属,她带着儿子逃离了家园。由于前方道路上的轰炸,火车延误了。我们有朋友躲在防空洞里。我们在空袭后焦急地追踪他们的消息,这些空袭无差别地攻击医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些消息的。这是我们亲身经历。

您足够信任我们使用我们的软件。我们请求您信任我们,说出真相。我们需要您的帮助。走出去,抗议这场不必要的战争。停止杀戮。说“停止战争!”

此存储库包含Composer插件类Laminas\ComponentInstaller\ComponentInstaller,它提供了以下事件的Composer事件钩子

  • post-package-install
  • post-package-uninstall

通过Composer全局安装

为使用所有项目安装实用程序

$ composer global require laminas/laminas-component-installer

按项目安装

为使用由Composer管理的特定项目安装实用程序

$ composer require laminas/laminas-component-installer

编写使用安装程序的应用程序

应用程序可以通过在composer.json文件中的extra.laminas配置下定义以下键之一来选择加入来自laminas-component-installer的工作流程

"extra": {
  "laminas": {
    "component": "Component\\Namespace",
    "config-provider": "Classname\\For\\ConfigProvider",
    "module": "Module\\Namespace"
  }
}
  • 一个component用于专门与laminas-mvc + laminas-modulemanager一起使用;必须存在与其关联的命名空间中定义的Module类。设置表示应注入到以下之一模块列表顶部的低级组件

    • config/application.config.php
    • config/modules.config.php
    • config/development.config.php
  • 一个module用于专门与laminas-mvc + laminas-modulemanager一起使用;必须存在与其关联的命名空间中定义的Module类。设置表示应注入到以下之一模块列表底部的用户模块或第三方模块

    • config/application.config.php
    • config/modules.config.php
    • config/development.config.php
  • 配置提供者(config-provider)用于与使用 laminas-config-aggregator(可能是也可能不是 Mezzio 应用程序)的应用程序一起使用。列出的类必须是一个可调用的类,它返回一个配置数组,并将在此处注入

    • config/config.php

标记要自动安装或忽略的包

在项目级别,您可以通过 component-auto-installs 键标记暴露配置提供者和您想要自动注入的模块,或者如果您可能想要永久忽略一个组件,可以通过 component-ignore-list 忽略组件

{
  "extra": {
    "laminas": {
      "component-auto-installs": [
        "mezzio/mezzio",
        "mezzio/mezzio-helpers"
      ],
      "component-ignore-list": [
        "laminas/laminas-db"
      ]
    }
  }
}

此配置必须在根包级别(消费提供配置包的包)进行。