zendframework/zend-component-installer

此包已被废弃且不再维护。作者建议使用laminas/laminas-component-installer包。

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

2.1.2 2019-09-04 19:10 UTC

README

Build Status Coverage Status

仓库于2019-12-31被废弃

此仓库已迁移至laminas/laminas-component-installer

此仓库包含Composer插件类Zend\ComponentInstaller\ComponentInstaller,该类提供了Composer事件钩子,用于以下事件:

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

通过Composer全局安装

要安装此实用工具以供所有项目使用

$ composer global require zendframework/zend-component-installer

按项目安装

要安装此实用工具以供特定项目使用(该项目已由composer管理)

$ composer require zendframework/zend-component-installer

编写使用此安装器的包

包可以通过在它们的composer.json文件中的extra.zf配置下定义以下键之一来选择加入来自zend-component-installer的工作流程:

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

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

    • config/application.config.php
    • config/modules.config.php
    • config/development.config.php
  • A config-provider用于使用expressive-config-managerzend-config-aggregator(这可能是也可能不是Expressive应用程序)的应用程序。所列出的类必须是一个可调用的类,它返回一个配置数组,并将被注入到:

    • config/config.php

列出要自动安装的包

在项目级别,您可以通过component-whitelist键标记那些暴露配置提供者和模块的包,您希望通过它自动注入

"extra": {
  "zf": {
    "component-whitelist": [
      "zendframework/zend-expressive",
      "zendframework/zend-expressive-helpers"
    ]
  }
}

此配置必须在根包级别(即消耗提供配置包的包)上执行。