zenoadmin/plugin-installer

Composer installer for Zeno business plugins.

Maintainers

Package info

github.com/zeno-admin/plugin-installer

Type:composer-plugin

pkg:composer/zenoadmin/plugin-installer

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-08-30 15:33 UTC

This package is auto-updated.

Last update: 2026-08-30 15:38:45 UTC


README

Zeno Admin 的 Composer 插件安装器。

它负责识别 type=zeno-plugin 的 Composer package,将插件安装到宿主项目的 plugins/{key} 目录,并把 Composer 安装、升级和卸载事件交给 zeno/plugin 生命周期处理。

要求

  • PHP 8.3+
  • Composer Plugin API 2.2+
  • Symfony Process 7.4 或 8.x

安装

通常与插件运行时一起安装:

composer require zeno/plugin zeno/plugin-installer

Composer 首次询问时允许该插件运行。也可以在宿主 composer.json 中配置:

{
    "config": {
        "allow-plugins": {
            "zeno/plugin-installer": true
        }
    }
}

插件 package

业务插件使用标准 Composer package:

{
    "name": "acme/tickets",
    "type": "zeno-plugin",
    "require": {
        "zeno/plugin": "^1.0",
        "zeno/plugin-installer": "^1.0"
    }
}

插件 key 自动取 package slug:

acme/tickets  → tickets → plugins/tickets

不同 package 使用相同 slug 时,安装器会在覆盖目录前终止并报告冲突。

生命周期

安装或升级插件:

composer require acme/tickets
php artisan migrate

Composer 阶段写入 plugins/.zeno-pending.json。随后成功执行 migrate 时,运行时会完成迁移、菜单导入和插件 Hook。

卸载插件:

composer remove acme/tickets

安装器会在 Composer 删除插件文件前调用 disable 和 uninstall Hook。菜单和业务数据由宿主与插件迁移管理。

License

MIT