Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Zeno Plugin Installer

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

About

plugin-installer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages