jeyroik/extas-installer-plugins

该包最新版本(0.3.1)没有可用的许可证信息。

允许在 extas.json 中描述安装插件

0.3.1 2020-08-27 15:11 UTC

This package is auto-updated.

Last update: 2024-09-28 00:32:38 UTC


README

tests codecov.io Latest Stable Version Total Downloads Dependents

描述

该包提供描述安装/删除实体插件机制,避免多余的代码。

使用

以前,如果要实现实体安装和删除的支持,需要实现两个插件 - 一个用于安装阶段,另一个用于删除阶段。

现在只需描述实体

extas.json

{
  "plugins_install": [
    {
      "repository": "extas\\components\\my\\Repository",
      "name": "my entity",
      "section": "my_entities"
    } 
  ]
}

这将创建两个插件,用于从 my_entities 节安装实体。

结合此包与 extas-repositories 可以得到以下结果

{
  "repositories": [
      {
        "name": "my_repo",
        "scope": "extas",
        "pk": "name",
        "class": "extas\\components\\my\\Item",
        "aliases": ["myRepo"]
      }
    ],
  "plugins_install": [
    {
      "repository": "myRepo",
      "name": "my entity",
      "section": "my_entities"
    } 
  ]
}

此外,如果实体名称与节名称相同,则可以省略该节

{
  "plugins_install": [
    {
      "repository": "myRepo",
      "name": "entities",
    } 
  ]
}

除此之外,为了额外的控制和灵活性,存在 extas.plugin.install.construct 阶段,它允许连接到插件构建阶段,并按照您的逻辑构建。有关阶段的详细信息,请参阅 src/interfaces/stages/IStagePluginInstallConstruct